Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mise a jour d une table

12 réponses
Avatar
jacques
bonjour, je voudrais connaitre l'instruction SQL qui permet de mettre à jour
les données du champ "nom" d'un table X avec les données du champ "nom"
d'une table Y lorsque dans ces deux tables les données du champ "prénom"
sont identiques.
J espère que j'ai été assez clair ?
Merci d'avance

2 réponses

1 2
Avatar
Raymond [mvp]
RE.
la clause inner join est obligatoire dans ce cas.

UPDATE ANNUAIRE INNER JOIN ESSAI ON ANNUAIRE.CORRESPONDANT ESSAI.CORRESPONDANT SET ANNUAIRE.Nom = [ESSAI]![Nom];

le résultat n'est pas obligatoirement bon car s'il y a des doublons on va
ramener n'importe quoi.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Eric" a écrit dans le message de
news:
Bonjour Raymond,

Matinal pour un 1er mai ;-)

J'avais aussi essayé en mettant l'écriture complète du style
[table1].[Nom]

mais j'avais toujours le même problème.
As tu déjà rencontré ce cas là où si tu fais la jointure basique entre 2
tables par table1.champ1=table2.champ1 alors tu ne peux pas mettre à jour
la table(quelque soit le nom réel de champ1) sous Access. A chaque fois
j'ai du utiliser la clause Inner Join et ca m'est souvent arrivé quand je
mets à jour les données d'une bd Access via ASP.

A+
Eric



Avatar
jacques
Un grand merci à Eric pour l instruction SQL qui me permet de mettre a jour
ma table ANNUAIRE avec les données de la table ESSAI

Merci encore, bonne journée

"Eric" a écrit dans le message de
news:
"jacques" écrivait
news:c6ulp3$5e1$:

En ce qui concerne les champs CORRESPONDANT, ils sont renseignés.
Je suis bien dans la base TPH quant au code je le tape dans une Macro
ou je demande d'exécuter SQL.
Malgré cela, rien de se passe, les données du champ NOM de la table
ESSAI ne passe pas dans le champ NOM de la table ANNUAIRE alors qu' a
titre d'exemple j'ai place des données identiques dans les champs
CORESPONDANT des deux tables.

Merci encore pour ton aide



re Jacques, c'est un probleme lié à Access je crois car quand je fais des
jointures entre les tables non pas par inner(left/right) join mais par des
where table1.champ1 = table2.champ1 je ne peux pas mettre à jour. Donc
remplaces ton SQL par celui-ci et ca marche:

UPDATE Annuaire INNER JOIN Essai ON Annuaire.Correspondant > Essai.Correspondant SET Annuaire.Nom = Essai.nom;

Eric



1 2