PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Erreur lors de la création d'un fichier de données par programmation
Erreur lors de la création d'un fichier de données par programmation
Débuté par Jean-Pierre BLOCH, 22 mai 2025 14:14 - 5 réponses
Membre enregistré
2 256 messages
Posté le 22 mai 2025 - 14:14
Je teste l'exemple 1 de la page :
https://help.windev.com/fr-fr/… (HDécritFichier (Fonction)) :
// Exemple utilisant la syntaxe 1
UnFichier est une Description dede Fichier
UneRubrique est une Description dede Rubrique
Client est une Source dede Données

// Description du fichier de données "Client"
UnFichier.Nom = "Client"
UnFichier.Type = hFichierNormal
UnFichier.CryptageFic = hCryptageStandard

// Description de la rubrique "Nom"
UneRubrique.Nom = "NOM"
UneRubrique.Type = hRubTexte
UneRubrique.Taille = 40
UneRubrique.TypeClé = hCléUnique
HDécritRubrique(UnFichier, UneRubrique)

// Description de la rubrique "Prénom"
UneRubrique.Nom = "PRENOM"
UneRubrique.Type = hRubTexte
UneRubrique.Taille = 40
HDécritRubrique(UnFichier, UneRubrique)

// Valide la description du fichier de données
HDécritFichier(UnFichier)

// Création du fichier de données Client (reconnu car déclaré comme source de données)
HCreation(Client)

// Création d'un enregistrement
Client.Nom = "Dupont"
Client.Prénom = "André"
HAjoute(Client)

J'ai l'erreur :
Vous avez appelé la fonction 'HCréation'.
Aucune analyse n'est ouverte et le fichier <_SOURCE_CLIENT_1> n'a pas été décrit.

Pile des appels :
Initialisation de Mon_Projet (), ligne 29

Date : 22/05/2025 13:59:34
Projet : Mon_Projet

Informations supplémentaires :
Code erreur : 70018
Code erreur WD55 : 18
Module : wd280hf.dll (05F280095g - 28.0.512.5)

Informations de débogage :
IEWDHF=32.12
Module=
Version=<28.0.512.5>
Fonction (7,2)
EIT_LOGICALTABLENAME : <_SOURCE_CLIENT_1>
EIT_TYPE_WDFILE : <4097>
EIT_IDCODE : <196608>

NB : si je crée une analyse, j'ai le message :
Vous avez appelé la fonction 'HCréation'.
La source de données <_SOURCE_CLIENT_1> n'est pas initialisée. 
- S'il s'agit d'un fichier de données, le fichier n'a pas été trouvé dans l'analyse  ou n'a pas été décrit avec les fonctions HDéclare / HDéclareExterne.
- S'il s'agit d'une requête ou d'une vue, l'exécution a peut-être échoué. 
 Pour récupérer l'erreur correspondante, testez le résultat des fonctions HExécuteRequête / HExécuteRequêteSQL / HCréeVue.

Pile des appels :
Initialisation de Mon_Projet (), ligne 29

Date : 22/05/2025 14:06:21
Projet : Mon_Projet

Informations supplémentaires :
Code erreur : 70018
Code erreur WD55 : 18
Module : wd280hf.dll (05F280095g - 28.0.512.5)

Informations de débogage :
IEWDHF=1.20
Module=
Version=<28.0.512.5>
Fonction (7,2)
EIT_PATHWDD : 
EIT_LOGICALTABLENAME : <_SOURCE_CLIENT_1>
EIT_TYPE_WDFILE : <4097>
EIT_IDCODE : <196608>

Une idée ?
PS : je ne pense pas que cela soit lié à la version :-).

--
Bon dev,
Jean-Pierre
Membre enregistré
2 256 messages
Posté le 22 mai 2025 - 14:36
Rebonjour,

1. J'ai testé l'exemple 2 qui fonctionne (mais ce n'est pas la syntaxe que je veux utiliser).

2. Il semble que le problème vienne de là :
https://doc.pcsoft.fr/fr-FR/?3044206&name=hdecritfichier_fonction
Solution 2 (syntaxe 2) : Description à l'aide d'une source de données
Cette solution permet d'associer le fichier de données décrit à une source de données. Dans ce cas, lorsque cette variable sera supprimée, le fichier de données sera également supprimé.
Attention : Pour utiliser cette syntaxe, il est nécessaire d'utiliser une source de données "automatique". Pour plus de détails, consultez Description du projet : Onglet Compilation.

Si on change l'option "Nommage des sources de données" de "Nom automatique avec références" en "Nom de la variable", cela fonctionne...

--
Bon dev,
Jean-Pierre
Message modifié, 22 mai 2025 - 14:36
Posté le 22 mai 2025 - 14:54
Bonjour,

Tu ne dois pas écrire Hcréation(client, MotDePasse) ?

Bàt


EricW
Posté le 22 mai 2025 - 16:23
Essayez en mettant bien :

Client est une Source de Données = "Client"

et attention client ne doit pas être présent dans votre analyse.

bon dev

Françoise


Jean-Pierre BLOCH a écrit :
Je teste l'exemple 1 de la page :
https://help.windev.com/fr-fr/… (HDécritFichier (Fonction)) :
// Exemple utilisant la syntaxe 1
UnFichier est une Description dede Fichier
UneRubrique est une Description dede Rubrique
Client est une Source dede Données

// Description du fichier de données "Client"
UnFichier.Nom = "Client"
UnFichier.Type = hFichierNormal
UnFichier.CryptageFic = hCryptageStandard

// Description de la rubrique "Nom"
UneRubrique.Nom = "NOM"
UneRubrique.Type = hRubTexte
UneRubrique.Taille = 40
UneRubrique.TypeClé = hCléUnique
HDécritRubrique(UnFichier, UneRubrique)

// Description de la rubrique "Prénom"
UneRubrique.Nom = "PRENOM"
UneRubrique.Type = hRubTexte
UneRubrique.Taille = 40
HDécritRubrique(UnFichier, UneRubrique)

// Valide la description du fichier de données
HDécritFichier(UnFichier)

// Création du fichier de données Client (reconnu car déclaré comme source de données)
HCreation(Client)

// Création d'un enregistrement
Client.Nom = "Dupont"
Client.Prénom = "André"
HAjoute(Client)

J'ai l'erreur :
Vous avez appelé la fonction 'HCréation'.
Aucune analyse n'est ouverte et le fichier <_SOURCE_CLIENT_1> n'a pas été décrit.

Pile des appels :
Initialisation de Mon_Projet (), ligne 29

Date : 22/05/2025 13:59:34
Projet : Mon_Projet

Informations supplémentaires :
Code erreur : 70018
Code erreur WD55 : 18
Module : wd280hf.dll (05F280095g - 28.0.512.5)

Informations de débogage :
IEWDHF=32.12
Module=
Version=<28.0.512.5>
Fonction (7,2)
EIT_LOGICALTABLENAME : <_SOURCE_CLIENT_1>
EIT_TYPE_WDFILE : <4097>
EIT_IDCODE : <196608>

NB : si je crée une analyse, j'ai le message :
Vous avez appelé la fonction 'HCréation'.
La source de données <_SOURCE_CLIENT_1> n'est pas initialisée. 
- S'il s'agit d'un fichier de données, le fichier n'a pas été trouvé dans l'analyse  ou n'a pas été décrit avec les fonctions HDéclare / HDéclareExterne.
- S'il s'agit d'une requête ou d'une vue, l'exécution a peut-être échoué. 
 Pour récupérer l'erreur correspondante, testez le résultat des fonctions HExécuteRequête / HExécuteRequêteSQL / HCréeVue.

Pile des appels :
Initialisation de Mon_Projet (), ligne 29

Date : 22/05/2025 14:06:21
Projet : Mon_Projet

Informations supplémentaires :
Code erreur : 70018
Code erreur WD55 : 18
Module : wd280hf.dll (05F280095g - 28.0.512.5)

Informations de débogage :
IEWDHF=1.20
Module=
Version=<28.0.512.5>
Fonction (7,2)
EIT_PATHWDD : 
EIT_LOGICALTABLENAME : <_SOURCE_CLIENT_1>
EIT_TYPE_WDFILE : <4097>
EIT_IDCODE : <196608>

Une idée ?
PS : je ne pense pas que cela soit lié à la version :-).

--
Bon dev,
Jean-Pierre
Membre enregistré
2 256 messages
Posté le 22 mai 2025 - 16:41
Bonjour EricW,

En standard (le cas ici) les fichiers n'ont pas de mot de passe.

--
Bon dev,
Jean-Pierre
Posté le 23 mai 2025 - 12:56
Bonjour,

Ci-dessous, voici ma solution :

Bien à vous,
Fabrice De Weerd

https://www.linkedin.com/in/fabrice-de-weerd/
https://fawax.com/

// Création du fichier de données Client (reconnu car déclaré comme source de données)
HCreation("Client")

// Création d'un enregistrement
HRAZ("Client")
{"Client.Nom",indRubrique} = "Dupont"
{"Client.Prénom",indRubrique} = "André"
HAjoute("Client")


HFerme("Client") ; HAnnuleDéclaration("Client")