PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Erreur Syntaxe Hrecherche et HAjoute
Erreur Syntaxe Hrecherche et HAjoute
Iniciado por dboiseaux, 04,nov. 2019 10:49 - 10 respuestas
Publicado el 04,noviembre 2019 - 10:49
Bonjour a tous j'ai un petit soucis depuis un petit moment je n'arrive pas a faire une vérification pour savoir si ma donnée existe bien dans ma base de donnée. Apres avoir lu tout les livres ainsi que pas mal de forum bha je suis quand meme bloqué.
Voici mon Code :
HLitRecherchePremier(Agence,Agence.Agence_Code,AgenceCode)
SI HTrouve(Agence) ALORS

// Affiche les données du client
Info("Cette Agence existe")
HErreur(hErrEnCours);

SINON

HAjoute(Agence)

FIN


Merci de votre compréhension Cordialement
Miembro registrado
160 mensajes
Publicado el 04,noviembre 2019 - 11:07
t'as quoi comme erreur ?
Miembro registrado
2.321 mensajes
Publicado el 04,noviembre 2019 - 11:13
Bonjour,

Vous êtes prêt pour ajouter une Agence, puis vous faites une recherche sur le même fichier !
Vous devez sauvegarder la position (et le contenu) avant de faire la recherche puis la restorer.
Voir l'Aide en ligne :
https://doc.pcsoft.fr/fr-FR/index.awp?3044136
// Sauve le contexte en cours
nPos = HSauvePosition(Agence)
// Vérification d'un client d'un autre nom
HLitRecherchePremier(Agence,Agence.Agence_Code,AgenceCode)
SI HTrouve(Agence) ALORS
// Affiche les données du client
Info("Cette Agence existe")
SINON
// Restaure le contexte
HRetourPosition(nPos)
// Ajoute l'Agence
HAjoute(Agence)
FIN


--
Bon dev,
Jean-Pierre
Publicado el 04,noviembre 2019 - 11:18
Il me dit que Agence.Agence_Code n'est pas accessible ou inconnu or il existe bien dans mon fichier de donnée
Publicado el 04,noviembre 2019 - 11:31
Je ne vois pas ce que HSauvePosition et HRetourPosition viennent faire ici.
S'il veut ajouter un nouvel enregistrement, quel est l’intérêt de sauver puis restaurer le contexte Agence?

Soit l'agence existe et HTrouve() est à Vrai
Soit elle n'existe pas (HTrouve()=Faux), dans ce cas il faut affecter les rubriques de la table (avec par exemple EcranVersFichier()) puis faire un HAjoute()
Miembro registrado
160 mensajes
Publicado el 04,noviembre 2019 - 11:37
t'as synchronisé l'analyse avec tes fichiers ?
Miembro registrado
953 mensajes
Publicado el 04,noviembre 2019 - 11:39
bonjour White 16

il faut mentionner le nom de la clé pour la fonction HLitRecherche, là vous lui passer la valeur actuelle de votre clé

il faut faire ainsi :

HLitRecherchePremier(Agence,Agence_Code,AgenceCode)
Publicado el 04,noviembre 2019 - 11:41
Normalement Oui sinon comment on fait ?
Parceque meme quand je fais SAI_NomAgence description liaison est egal a mon champs de ma Table (Orientée DataBase), bh quand je debogue il me dit que SAI_NomAgence ="" alors que non
Publicado el 04,noviembre 2019 - 11:43
Christophe j'ai deja essayé et ca ne marche pas
Publicado el 04,noviembre 2019 - 14:50
HLitRecherchePremier te rempli le buffer, sinon il faut utiliser
HRecherchePremier.
Lorsque tu fais HAjoute, c'est le dernier buffer lu qui est enregistré.
Tu peux utiliser la solution de Jean-Pierre et la mixer avec celle de
Christophe.
Tu peux éventuellement ajouter l'option Hidentique sur ta recherche.
Miembro registrado
1.640 mensajes
Publicado el 04,noviembre 2019 - 16:58
A priori y'a quand même un problème entre code et analyse.

SI le compilateur dit que la clé n'est pas présente alors qu'elle y est dans l'analyse, il faut soit régénérer l'analyse pour voir ou alors faire une réparation de l'analyse :