Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb de mise à jour de table ???

1 réponse
Avatar
Jérémie
Bonjour,

J'ai un formulaire qui me permet de créer des enregistrements. Un enregistrement possède un un titre, une date... et un ou plusieurs mots-clés.
Voila une partie du code que j'ai assigné pour la création de mes enregistrements :

Set db = CurrentDb
Set rs = db.openrecordset("Document")
rs.movelast (pour aller au dernier enregistrement de ma table ou du moins pour m'en assurer !!!)
If rs!Titre <> txtTitre then
Dim stDocName as string
DoCmd.SetWarnings False
stDocName = "Macro_Ajout"
DoCmd.RunMacro stDocName
DoCmd.SetWarnings True
End if
...
En fait, à chaque fois que je rentre un mot-clé pour un enregistrement, l'ensemble de l'enregistrement est validé. Cette boucle me permet de dire que si j'ai déjà rentrer un titre "Alpha", une date... et un mot-clé, lorsque je saisi un second mot-clé pour ce même document, il ne faut pas réenregistrer une seconde fois le titre, la date... avec le second mot-clé mais juste faire la liaison entre l'enregistrement déjà saisi et cet autre mot-clé. En effet, la liaison se fait dans une table intermédiaire "APourThème" entre ma table "Mot Clé" et ma table "document".
Ce système marche !!! Mais parfois il plante( 1fois sur 10 à peu près ms c déjà de trop !) ! Comme si ma table document ne voulais pas se mettre à jour et considérer l'enregistrement déjà saisi comme le dernier enregistrement de ma table. Peut-être ai-je oublié une instruction de mise à jour de ma table ds mon code.
Qu'en pensez vous ?

Merci,

Jérémie

1 réponse

Avatar
Jérémie
Pour info, je viens de compacter ma base et ça à l'air de fonctionner de nouveau normalement mais pour combien de temps... Bizarre ??!!

Jérémie


Bonjour,

J'ai un formulaire qui me permet de créer des enregistrements. Un enregistrement possède un un titre, une date... et un ou plusieurs mots-clés.
Voila une partie du code que j'ai assigné pour la création de mes enregistrements :

Set db = CurrentDb
Set rs = db.openrecordset("Document")
rs.movelast (pour aller au dernier enregistrement de ma table ou du moins pour m'en assurer !!!)
If rs!Titre <> txtTitre then
Dim stDocName as string
DoCmd.SetWarnings False
stDocName = "Macro_Ajout"
DoCmd.RunMacro stDocName
DoCmd.SetWarnings True
End if
...
En fait, à chaque fois que je rentre un mot-clé pour un enregistrement, l'ensemble de l'enregistrement est validé. Cette boucle me permet de dire que si j'ai déjà rentrer un titre "Alpha", une date... et un mot-clé, lorsque je saisi un second mot-clé pour ce même document, il ne faut pas réenregistrer une seconde fois le titre, la date... avec le second mot-clé mais juste faire la liaison entre l'enregistrement déjà saisi et cet autre mot-clé. En effet, la liaison se fait dans une table intermédiaire "APourThème" entre ma table "Mot Clé" et ma table "document".
Ce système marche !!! Mais parfois il plante( 1fois sur 10 à peu près ms c déjà de trop !) ! Comme si ma table document ne voulais pas se mettre à jour et considérer l'enregistrement déjà saisi comme le dernier enregistrement de ma table. Peut-être ai-je oublié une instruction de mise à jour de ma table ds mon code.
Qu'en pensez vous ?

Merci,

Jérémie