Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/05/2011, 15h34   #1
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 271
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 271
Points : 32
Points : 32
Par défaut requete de mise à jour

Bonjour,

Je cherche à faire la req suivante mais ça ne marche pas

Code :
1
2
3
 
UPDATE Table1 AS a SET a.ch1= (select distinct max(b.ch2) from table2 AS b
WHERE b.ch3=a.ch3And b.ch4=a.ch4);
j'ai le message d'erreur suivant:

l'opération doit utiliser une requête qui peut être mise à jour.

merci.
ouinih est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 17h56   #2
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
Bonsoir,
essayer ceci
Code :
1
2
 
UPDATE Table1 SET Table1.ch1= DMax("ch2";"table2")  WHERE table2.ch3=table1.ch3 And table2.ch4=table1.ch4);
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 11h47   #3
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 271
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 271
Points : 32
Points : 32
il ne reconnait pas le champ : table2.ch3
ouinih est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 15h46   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

Code :
UPDATE Table1 SET Table1.ch1= DMax("ch2", "table2", "ch3=" & table1.ch3 & " And ch4=" & table1.ch4);
La syntaxe du troisième argument de DMax est à adpater selon le type des champs ch3 et ch4.

Champs de type Entier
Code :
"ch3=" & table1.ch3 & " And ch4=" & table1.ch4
Champs de type Texte
Code :
"ch3='" & table1.ch3 & "' And ch4='" & table1.ch4 & "'"
A+
LedZeppII est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 17h43   #5
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 271
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 271
Points : 32
Points : 32
Mon chp4 est de type Date.
Je fais une requête de type :

Code :
1
2
 
UPDATE Table1 AS a SET a.ch1= DMax('ch2,'table2','ch3="' & [a.ch3] & '" and Format(ch4, "dd/mm/yyyy")= Format("' & [a.ch4] & '"), "dd/mm/yyyy") ');
qd je retire la condition sur champ4, la req marche bien mais lorsque je rajoute la condition sur chp 4 (type date) ça ne marche plus (je n'ai pas d'erreur mais pas de mise à jour).

Merci pr votre aide.
ouinih est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 22h49   #6
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

Code :
1
2
UPDATE Table1 AS a 
SET a.ch1= DMax("ch2" , "table2", "ch3='" & a.ch3 & "' And ch4=#" & Format(a.ch4, "mm/dd/yyyy") & "#");
Détail troisième argument (expression chaîne de caractères) de DMax :
Code :
"ch3='" & a.ch3 & "' And ch4=#" & Format(a.ch4, "mm/dd/yyyy") & "#"
La date est format mois/jour/année, encadrée par des dièses.

A+
LedZeppII est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h01.


 
 
 
 
Partenaires

Hébergement Web