PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Aucun enregistrement en cours lors d'un HModifie
Aucun enregistrement en cours lors d'un HModifie
Débuté par anonymous, 13 juin 2017 11:03 - 2 réponses
Posté le 13 juin 2017 - 11:03
Bonjour,

Je fais appel à vous car j'ai un souci lors de l'exécution de mon code.
J'ai une colonne comportant un identifiant dans une table de ma feuille.
j'ai la possibilité lors de la modification d'ajouter une ligne. Dans ce cas, l'identifiant est égal à 0.
Si l'élément est existant, j'ai son id ( IDGeneral ) affiché sur ma feuille, sinon il est égal à 0.
Voici mon code :
SI IDGeneral <> 0 ALORS
HLitRecherchePremier(BDD_FRS,ID_Enr,ID_Enr)
POUR i = 1 A Nb
SI HTrouve(BDD_FRS) ALORS
//Modification dans la feuille
BDD_CLI.Name = Name
BDD_CLI.NumCli = NumeroClient
HModifie(BDD_CLI)
SI Table.ID_Enr <> 0 ALORS
BDD_FRS.Elmone = Table.Nom[i]
BDD_FRS.Elmtwo = Table.Societe[i]
HModifie(BDD_FRS)
FIN
FIN


L'erreur est : Aucun enregistrement en cours n'est défini pour le fichier <BDD_FRS>.
Le numéro d'enregistrement est bon.
Htrouve = vrai

Je ne vois pas où se situe l'erreur, surtout que l'enregistrement des modifications se fait correctement sur les éléments de la feuille mais pas dans la table.

Merci pour votre aide.
Posté le 13 juin 2017 - 11:39
Bonjour,
Je trouve ton code un peu bizarre.
Tu fais une recherche sur le fichier BDD_FRS, et une modification sur
BDD_CLI. mais pas de recherche sur ce dernier...
Ensuite to hLitRecherchePremier est en dehors de ta boucle, donc tu ne
modifie qu'un seul enregistrement. A quoi sert la boucle ?

Pourquoi ne pas sortir la modification de BDD_CLI de la boucle, et mettre la
recherche de BDD_FRS dans la boucle ?
Sinon à quoi sert la boucle ?

Frédéric.

"anonymous" a écrit dans le message de groupe de discussion :
20177adf3f71a61643dc837ff8e6c565b54a@news.pcsoft.fr...

Bonjour,

Je fais appel à vous car j'ai un souci lors de l'exécution de mon code.
J'ai une colonne comportant un identifiant dans une table de ma feuille.
j'ai la possibilité lors de la modification d'ajouter une ligne. Dans ce
cas, l'identifiant est égal à 0.
Si l'élément est existant, j'ai son id ( IDGeneral ) affiché sur ma feuille,
sinon il est égal à 0.
Voici mon code :
SI IDGeneral <> 0 alors
HLitRecherchePremier(BDD_FRS,ID_Enr,ID_Enr)
POUR i = 1 A Nb
SI HTrouve(BDD_FRS) ALORS
//Modification dans la feuille
BDD_CLI.Name = Name
BDD_CLI.NumCli = NumeroClient
HModifie(BDD_CLI)
Si Table.ID_Enr <> 0 alors
BDD_FRS.Elmone = Table.Nom[i]
BDD_FRS.Elmtwo = Table.Societe[i]
HModifie(BDD_FRS)
Fin
Fin


L'erreur est : Aucun enregistrement en cours n'est défini pour le fichier
<BDD_FRS>.
Le numéro d'enregistrement est bon.
Htrouve = vrai

Je ne vois pas où se situe l'erreur, surtout que l'enregistrement des
modifications se fait correctement sur les éléments de la feuille mais pas
dans la table.

Merci pour votre aide.
Membre enregistré
280 messages
Popularité : +22 (28 votes)
Posté le 15 juin 2017 - 02:03
Bonjour,

Tu ne peux pas exécuter le code,

HModifie(BDD_CLI)


si tu n'as pas au préalable lu cet enregistrement avec une fonction de lecture.

--
Cordialement.
Je vous souhaite une bonne journée depuis le Vietnam.

Olivier.
http://www.impulse-web.com