|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 4 ![]() |
Bonjour à Tous,
je gère une base access2003 pour ma société et je bloque sur le message d'erreur suivant : "Update ou cancelUpdate effectué sans appeler AddNew ni Edit" le contexte : 1- j'ai une table nommée Tmp avec 3 colonnes (cette table est issue d'un import Excel) : colonne 1 = [Index contact] colonne 2 = [voeux 2011] colonne3 = [cadeau 2011] 2- j'ai une table cible T_mailing déjà existante où je crée deux nouvelles colonnes [voeux 2011] et [cadeau 2011] pour l'instant vierge de données. la première colonne de cette table est [index contact] Jusqu'ici tout va bien, mais c'est par la suite que cela bug 3- je souhaite remplir mes nouvelles colonnes sous T_mailing avec les 2 colonnes de Tmp en respectant la condition pour chaque ligne : [Index contact].[T_mailing]=[Index contact].[Tmp]. voici donc le code qui pose problème lors du passage sur la ligne : ![voeux_2012] = " & Tabletmp.Fields(1).Value" avec le message énoncé précédemment. je ne comprends pas pourquoi, il me sort ce message alors que je lui indique Matable.edit dans la boucle With. ![]() J'ai beau chercher sur la toile des solutions dans les forums, je bloque... si quelqu'un a une idée sur une grosse erreur que j'aurais fait. Merci d'avance ! Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Inscription : janvier 2006 Messages : 99 ![]() |
Bonjour,
je pense que votre problème vient que vous faites 2 fois MaTable.Edit et 2 fois MaTable.Update. Le premier MaTable.Edit qui se trouve en dehors de votre With et dans votre boucle While est inutile. De même pour votre second MaTable.Update (situé juste après votre boucle While). Ah, et aussi, vous avez un MaTabletmp.Edit dans votre boucle While inutile puisque vous ne mettez pas à jour ce recordset. Le .Requery est aussi inutile car vous ne mettez pas à jour les champs sur lesquekls vous effectuez votre recherche. Et dernier point : votre boucle est infinie puisque vous revenez au premier enregistrement à chaque fois que vous passez dans votre boucle. Personnellement, j'aurai écrit : Code :
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 4 ![]() |
Bonjour Aegnor,
désolé pour le retard dans la réponse, mais j'avais de l'huile sur le feu sur d'autres projets... Je vous remercie de vos conseils, la solution proposée marche effectivement très bien ![]() je suis encore loin d'arriver à coder bon du premier coup.... A bientôt et j'espère pouvoir vous aider un jour. ![]() Cordialement, Geoffroy |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com