Posez votre question Signaler

[Access_SQL] Mise à jour d'une table

NewKind 16Messages postés 21 mars 2007Date d'inscription - Dernière réponse le 29 juin 2007 à 09:59
Bonjour !
Mon problème est le suivant:
Sous Access je souhaite mettre à jour une TableB avec les données d'une TableA pour les enregistrement présents dans les deux tables.
J'utilise pour l'instant un requete SQL qui fonctionne, sauf qu'elle ne récupère pas les données de la TableA et me demande de les définir.
Voila le code utilisé :
UPDATE [TableB] SET [TableB].F1 = [TableA].F1, [TableB].F2 = [TableA].F2, [TableB].F3 = [TableA].F3, [TableB].F4 = [TableA].F4, [TableB].F5 = [TableA].F5, [TableB].F6 = [TableA].F6, [TableB].F7 = [TableA].F7, [TableB].F8 = [TableA].F8, [TableB].F9 = [TableA].F9, [TableB].F10 = [TableA].F10, [TableB].F11 = [TableA].F11, [TableB].F12 = [TableA].F12, [TableB].F13 = [TableA].F13, [TableB].F14 = [TableA].F14, [TableB].F15 = [TableA].F15, [TableB].F16 = [TableA].F16, [TableB].F17 = [TableA].F17, [TableB].F18 = [TableA].F18
WHERE (((TableB.F11)=(TableA.F11)));

Quand le code est executé j'ai le message suivant:
"Entrez une valeur de parametre" pour TableA.F1 ...... jusqu'à F18.
Si quelqu'un à une idée je suis preneur bien volontier!
Lire la suite 

[Access_SQL] Mise à jour d'une table »

2 réponses
Réponse
+0
moins plus
Alors, j'ai apparament trouvé une meilleure syntaxe pour ma mise à jour:
UPDATE [TableB] SET [TableB].F1 = (SELECT TableA.F1 FROM TableA WHERE TableB.F1 = TableA.F1), [TableB].F2 = [(SELECT TableA.F2 FROM TableA WHERE TableB.F2 = TableA.F2), [TableB].F3 = (SELECT TableA.F3 FROM TableA WHERE TableB.F3 = TableA.F3), [TableB].F4 = (SELECT TableA.F4 FROM TableA WHERE TableB.F4 = TableA.F4), [TableB].F5 = (SELECT TableA.F5 FROM TableA WHERE TableB.F5 = TableA.F5), [TableB].F6 = (SELECT TableA.F6 FROM TableA WHERE TableB.F6 = TableA.F6), [TableB].F7 = (SELECT TableA.F7 FROM TableA WHERE TableB.F7 = TableA.F7), [TableB].F8 = (SELECT TableA.F8 FROM TableA WHERE TableB.F8 = TableA.F8), [TableB].F9 = (SELECT TableA.F9 FROM TableA WHERE TableB.F9 = TableA.F9), [TableB].F10 = (SELECT TableA.F10 FROM TableA WHERE TableB.F10 = TableA.F10), [TableB].F11 = (SELECT TableA.F11 FROM TableA WHERE TableB.F11 = TableA.F11), [TableB].F12 = (SELECT TableA.F12 FROM TableA WHERE TableB.F12 = TableA.F12), [TableB].F13 = (SELECT TableA.F13 FROM TableA WHERE TableB.F13 = TableA.F13), [TableB].F14 = (SELECT TableA.F14 FROM TableA WHERE TableB.F14 = TableA.F14), [TableB].F15 = (SELECT TableA.F15 FROM TableA WHERE TableB.F15 = TableA.F15), [TableB].F16 = (SELECT TableA.F16 FROM TableA WHERE TableB.F16 = TableA.F16), [TableB].F17 = (SELECT TableA.F17 FROM TableA WHERE TableB.F17 = TableA.F17), [TableB].F18 = (SELECT TableA.F18 FROM TableA WHERE TableB.F18 = TableA.F18)
WHERE (((TableB.F11)=(TableA.F11)));


Par contre cette fois ci, à l'execution, j'obtiens le message suivant:
" Le moteur de base de données ne peut pas trouver "Maj_TableB". Assurez vous que le nom de parametre ou d'alias est valide, qu'il ne comprend pas de caractere ou de ponctuation incorrect et qu'il n'est pas trop long ".

Et là je suis de nouveau bloqué !
Si quelqu'un à une idée...
Ajouter un commentaire
Réponse
+0
moins plus
La réponse ici:
http://www.developpez.net/forums/showthread.php?p=2247428#post2247428

Merci à Magnus et Al1_24 pour leur aide.
Ajouter un commentaire
Ce document intitulé « [Access_SQL] Mise à jour d'une table » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?