OVH Cloud OVH Cloud

Aide requete UPDATE

3 réponses
Avatar
Patrick Drouin
Bonjour tout le monde,

Je suis plutôt nouveau avec ACCESS et je connais assez bien SQL sous
Oracle. Je tente de mettre à jour un champ (Code_err) dans une table M1L à
partir du champ M1.Code_err basé sur l'équivalence des champs PdeP et Forme
dans les tables M1L et M1. Voici ce que j'utilise:

UPDATE M1L
SET M1L.Code_err = (SELECT M1.Code_err
FROM table_temp M1
WHERE M1L.Forme=M1.Forme
AND M1L.PdeD=M1.PdeD
AND M1.Code_Err is not null);


Access me gratifie du message "L'opération doit utiliser une requête qui
peut être mise à jour....". J'ai beau regarder le message et les
explications obtenues à l'aide du bouton Aide, je suis toujours perdu. Des
suggestions?

Salutations,
Patrick

3 réponses

Avatar
Daniel Carollo
Bonsoir Patrick!

J'ai repondu a l'autre version de votre question un peu plus haut.

Bonne continuation.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Patrick Drouin" wrote in message
news:6vogb.114777$
Bonjour tout le monde,

Je suis plutôt nouveau avec ACCESS et je connais assez bien SQL sous
Oracle. Je tente de mettre à jour un champ (Code_err) dans une table M1L à
partir du champ M1.Code_err basé sur l'équivalence des champs PdeP et
Forme

dans les tables M1L et M1. Voici ce que j'utilise:

UPDATE M1L
SET M1L.Code_err = (SELECT M1.Code_err
FROM table_temp M1
WHERE M1L.Forme=M1.Forme
AND M1L.PdeD=M1.PdeD
AND M1.Code_Err is not null);


Access me gratifie du message "L'opération doit utiliser une requête qui
peut être mise à jour....". J'ai beau regarder le message et les
explications obtenues à l'aide du bouton Aide, je suis toujours perdu. Des
suggestions?

Salutations,
Patrick




Avatar
Patrick Drouin
Bonjour Daniel,

"Daniel Carollo" a écrit dans le
message de news:
Bonsoir Patrick!
J'ai repondu a l'autre version de votre question un peu plus haut.

UPDATE M1L
SET M1L.Code_err = M1.Code_err
FROM table_temp M1 INNER JOIN M1L
ON (M1L.Forme=M1.Forme AND M1L.PdeD=M1.PdeD AND M1.Code_Err is not null);


Merci pour le tuyau! Je vais essayer le tout. Je ne suis pas du tout
habitué à utiliser les INNER JOIN, je suppose que je vais devoir m'y mettre
bien assez tôt.

Désolé pour le message en anglais! J'avais effectué un "cancel post" avec
Outlook après avoir vu le groupe sélectionné. ;o( Je devrais travailler
moins tard ou me tirer du boulot quand la migraine se pointe.

Salutations amicales,
Patrick

Avatar
Patrick Drouin
Bonjour Daniel,

UPDATE M1L
SET M1L.Code_err = M1.Code_err
FROM table_temp M1 INNER JOIN M1L
ON (M1L.Forme=M1.Forme AND M1L.PdeD=M1.PdeD AND M1.Code_Err is not null);


Hum, ça ne fonctionne pas... Il ne manque pas un truc devant FROM?
Quelqu'un a suggéré la chose suivante et ça fonctionne bien mais j'aimerais
bien voir les autres suggestions:

UPDATE M1L INNER JOIN M1 ON (M1L.PdeD=M1.PdeD) AND (M1L.Forme=M1.Forme) SET
M1L.Code_err = M1.Code_err
WHERE ((Not (M1.Code_err) Is Null));

Ciao,
Patrick