Bonjour à tous,


Je souhaitait faire une mise à jour d'un enregistrement en affectant plusieurs champs en une seule fois.

Je ne suis pas un pro d'SQL mais je pensait que ceci marcherait :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
UPDATE MaTable SET ChampA = A, ChampB = B, ChampC = C FROM(SELECT A, B, C FROM UneAutreTalbe WHERE UneAutreTable.ID = 2)
WHERE MaTable.ID = 2

Access me jete en me disant qu'il y a une erreur dans la 1ere clause FROM .
D'où ma question simple: est-t-il possible de faire une requete de ce type sous acces, et si oui, où ai-je fait une erreur?


Merci d'avance

Edit: J'imagine que faire une requete SELECT pour chaque champ fonctionnerais, mais celà ne ferait-il pas moins propre que de tout faire en 1 fois ?

J'ai essayé
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
UPDATE MaTable SET (ChampA, ChampB, ChampC) =(SELECT A, B, C FROM UneAutreTalbe WHERE UneAutreTable.ID = 2)
WHERE MaTable.ID = 2

Mais sans succès


Edit n° 2 :
OK j'ai vu mon erreur, certains de mes champs proviennent d'une requête qui elle même provient d'une requete, qui elle même fait un SELECT sur la table que je tente de modifier... donc access me jete avec un message d'erreur ô combien ... flou

Il ne me reste plus qu'à passer par VBA pour d'abord récupérer les données puis ensuite faire la modif.