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
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
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" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF94DC5D1FB9C07fframZZhotmailcom@207.46.248.16...
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.
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
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
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" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF94DCE8AEDC53fframZZhotmailcom@207.46.248.16...
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;
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;