Zeflan
Messages postés4Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention 2 décembre 2004
-
23 nov. 2004 à 15:17
Zeflan
Messages postés4Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention 2 décembre 2004
-
23 nov. 2004 à 19:48
Heeeelppppp me pliiiize !!
J'vous explike vite fait le soucis :
J'ai une base access que je gere via une interface concoctée via VB6.
Quand je claque un rs.addnew suivi d'un rs.update, par moment l'enregistrement dans la base ne se fait pas. Je précise que juste apres l'enregistrement, je fais un rs.Close et ensuite je réouvre la table via rs.open etc.. cf le code.
Apres qqes recherches sur le net g trouvé un chti ricain qui disait avoir le meme probleme. De facon simplifiée, il me faudrait une commande afin de REFRESH la base pour qu'il prenne en compte la ligne que je lui ai demandé d'ajouter.
cf le code :
base_projet_record.Open "Screen", base_projet, adOpenStatic, adLockOptimistic
base_projet_record.AddNew
base_projet_record("Height") = objitem.ScreenHeight
base_projet_record("Width") = objitem.ScreenWidth
base_projet_record.Update
base_projet_record.Close
base_projet_record.Open "SELECT * FROM Screen WHERE Height=" & var_Height & " AND Width=" & var_Width, varConnection, adOpenStatic, adLockOptimistic
IDScreen = base_projet_record.Fields(0)
base_projet_record.Close
J'ai bien essayé de mettre une tempo après l'update via l'API Sleep dans Kernel32 mais meme ca, ca marche pas terrible..
Zeflan
Messages postés4Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention 2 décembre 2004 23 nov. 2004 à 19:48
VOILA LA SOLUCE !!
Merci quand meme Dark ;) ct bien essayé mais bon g fini par trouver..
Pour tout le monde : fo savoir que le rs.update met d'abord en cache puis sauvegarde sauf si vous faites un rs.close et que vous enchainez cash sur une autre requete . Dans ce cas la il vous faut mettre un RS.REQUERY pour resynchroniser la base avec l'update .
ce qui donne avec le meme code que j'avais utilisé au dessus :