OVH Cloud OVH Cloud

Update avec clef unique

6 réponses
Avatar
Otto Haldi
Bonjour à tous,

Je début et je ne comprends pas ce que je fais de faux!

Un fichier avec une clef unique m'annonce par un écran
d'erreur bleu WDTST: Data entered for item <Artikel.ART_NR>
already exist.

Bien sur que cet article existe, mais en fait je ne fait
que de modifier la fichie!

Code derrière mon bouton "Enregistrer"

SI gSaisie = Vrai ALORS
// On ajoute un enregistrement
gSaisie = Faux
ART_NR..CouleurFond = iBlanc
HAjoute(Artikel,hAffecteParcours)
FEN_Main.INFOLine = "Article ajouté!"
GP_CHAMP_ART..Modifié = Faux
SINON
// On enregistre les modifications
SI GP_CHAMP_ART..Modifié = Vrai ALORS
HModifie(Artikel)
FEN_Main.INFOLine = "Changement enregistrée!"
GP_CHAMP_ART..Modifié = Faux
SINON
FEN_Main.INFOLine = "Vous n'avez rien modifié"
Bip()
FIN
FIN

// On réaffiche l'écran
FichierVersEcran(FEN_Main,Artikel)

Merci d'avance pour tous renseignements.
Otto

6 réponses

Avatar
Pascal F
Otto Haldi avait écrit le 16/06/2006 :
Bonjour à tous,

Je début et je ne comprends pas ce que je fais de faux!

Un fichier avec une clef unique m'annonce par un écran
d'erreur bleu WDTST: Data entered for item <Artikel.ART_NR>
already exist.

Bien sur que cet article existe, mais en fait je ne fait
que de modifier la fichie!

Code derrière mon bouton "Enregistrer"

SI gSaisie = Vrai ALORS
// On ajoute un enregistrement
gSaisie = Faux
ART_NR..CouleurFond = iBlanc
HAjoute(Artikel,hAffecteParcours)
FEN_Main.INFOLine = "Article ajouté!"
GP_CHAMP_ART..Modifié = Faux
SINON
// On enregistre les modifications
SI GP_CHAMP_ART..Modifié = Vrai ALORS
HModifie(Artikel)
FEN_Main.INFOLine = "Changement enregistrée!"
GP_CHAMP_ART..Modifié = Faux
SINON
FEN_Main.INFOLine = "Vous n'avez rien modifié"
Bip()
FIN
FIN

// On réaffiche l'écran
FichierVersEcran(FEN_Main,Artikel)

Merci d'avance pour tous renseignements.
Otto



ton gSaisie ne serait_il pas à vrai dans tous les cas, m^émé si c'est une modification?

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
JeAn-PhI
Il se trouve que Otto Haldi a formulé :
Bonjour à tous,

Je début et je ne comprends pas ce que je fais de faux!

Un fichier avec une clef unique m'annonce par un écran
d'erreur bleu WDTST: Data entered for item <Artikel.ART_NR>
already exist.

Bien sur que cet article existe, mais en fait je ne fait
que de modifier la fichie!

Code derrière mon bouton "Enregistrer"

SI gSaisie = Vrai ALORS
// On ajoute un enregistrement
gSaisie = Faux
ART_NR..CouleurFond = iBlanc
HAjoute(Artikel,hAffecteParcours)
FEN_Main.INFOLine = "Article ajouté!"
GP_CHAMP_ART..Modifié = Faux
SINON
// On enregistre les modifications
SI GP_CHAMP_ART..Modifié = Vrai ALORS
HModifie(Artikel)
FEN_Main.INFOLine = "Changement enregistrée!"
GP_CHAMP_ART..Modifié = Faux
SINON
FEN_Main.INFOLine = "Vous n'avez rien modifié"
Bip()
FIN
FIN

// On réaffiche l'écran
FichierVersEcran(FEN_Main,Artikel)

Merci d'avance pour tous renseignements.
Otto



il ne manque pas un EcranVersFichier ou une affecation
MonFichier.MaRubrique = MaValeur pour les rubriques à mettre à jour

--
Cordialement JeAn-PhI
Avatar
Otto Haldi
Merci pour ton aide,
il ne manque pas un EcranVersFichier ou une affecation
MonFichier.MaRubrique = MaValeur pour les rubriques à mettre à jour




Petite erreur de copie, oui, j'ai un
EcranVersFichier() juste avant:

SI gSaisie = Vrai ALORS

Le problème annoncé dans mon message précédent n'est pas
systématique. En effet cela fonctionne lorsque je vais la première
fois sur la fiche et que j'enregistre les modifications, mais lorsque
je refais une correction et que je réenregistre c'est à ce moment là
que le problème arrive.

Meilleures salutations
Otto
Avatar
Otto Haldi
In article <44927031$0$32631$, Pascal F wrote:
ton gSaisie ne serait_il pas à vrai dans tous les cas, m^émé si c'est une modification?



Merci pour ton aide. Oui gSaisie et à faux j'ai contrôllé!
Avatar
Pascal F
Il se trouve que Otto Haldi a formulé :
Merci pour ton aide,
il ne manque pas un EcranVersFichier ou une affecation
MonFichier.MaRubrique = MaValeur pour les rubriques à mettre à jour




Petite erreur de copie, oui, j'ai un
EcranVersFichier() juste avant:

SI gSaisie = Vrai ALORS

Le problème annoncé dans mon message précédent n'est pas
systématique. En effet cela fonctionne lorsque je vais la première
fois sur la fiche et que j'enregistre les modifications, mais lorsque
je refais une correction et que je réenregistre c'est à ce moment là
que le problème arrive.

Meilleures salutations
Otto



Causes possibles:
tu as un champ relié à <Artikel.ART_NR> et après enregistrement ou affichage tu ne vides pas le champs, ce qui fait que lors de
l'écriture d'un nouvel enregistrement c'est la clé unique de l'article affiché précédemment qui est utilisée d'où le problème de
doublons.

Il faut après écriture faire un RAZ() de l'écran pour réinitialiser.

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
Otto Haldi
Bonjour Pascal

Il faut après écriture faire un RAZ() de l'écran pour réinitialiser.



Absolument juste. Cela fonctionne bien maintenant, je me retrouve
juste avec la fenètre vide, mais je vais cherher par moi-même pour
comprendre.

Encore Merci