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 28/06/2011, 10h49   #1
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
Par défaut Requête Update et formatage de date

Bonjour à tous.

Je galère sur la syntaxe sql d’une requête update où je dois formater un champ date.
Dans une table « Elèves », j’ai un champ [Date/nais] de type date, et un champ DDN de type string, où je stocke la date (Date/nais) au format « yyyy-mm-dd ».
J’ai une requête mise à jour qui fonctionne sans problème :
Code :
UPDATE Elèves SET Elèves.DDN = Format([Date/nais],"yyyy-mm-dd");
Quand je lance la requête en mode requête de mise à jour
Code :
DoCmd.OpenQuery "MAJ_DDN"
ça fonctionne parfaitement.

Je voudrais l’exécuter en sql dans le cours d’une procédure où je traite une partie des enregistrements de la table Elèves sur la base de critères de tri qui fonctionnent parfaitement. Les conditions Where ne posent pas de problème.

J’ai tenté diverses syntaxes sans arriver à un résultat correct. Exemples :

Code :
db.Execute "UPDATE Elèves SET Elèves.DDN = '" & Format([Date/nais], "yyyy-mm-dd") & "' WHERE Elèves.Ecole = '" & Forms!Tri.ChoixEcole & "' And Elèves.Classe Like '" & "*" & Forms!Tri.Critèreclasse & "*" & "' And [Elèves]![Sexe] Like '" & "*" & [Forms]![Tri]![Sexe] & "*" & "' And Elèves![Date/nais]> #" & [Forms]![Tri]![Début] & "# And [Elèves]![Date/nais]< #" & [Forms]![Tri]![Fin] & "# And Elèves.Inscrit = True"
Dans ce cas, le champ DDN est mis à jour, au format que je souhaite, pour tous les enregistrements du tri, avec la valeur de Date/nais du formulaire à partir duquel je lance la procédure. C’est logique, puisque il y a bien dans ce formulaire un champ qui porte ce nom.

Si je mets
Code :
Format([Elèves]![Date/nais], "yyyy-mm-dd")
dans le code, alors j’obtiens une erreur 2465 « Impossible de trouver le champ "|" auquel il est fait référence dans votre expression. »

Si quelqu’un sait m’aider à formuler correctement cette requête, ça me ferait bien plaisir (et progresser en syntaxe sql !!!).
Merci d’avance.
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 15h06   #2
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Hello
essaye avec
Code :
db.Execute "UPDATE Elèves SET Elèves.DDN = Format([Date/nais], 'yyyy-mm-dd')  WHERE Elèves.Ecole = '" & Forms!Tri.ChoixEcole & "' And Elèves.Classe Like '" & "*" & Forms!Tri.Critèreclasse & "*" & "' And [Elèves]![Sexe] Like '" & "*" & [Forms]![Tri]![Sexe] & "*" & "' And Elèves![Date/nais]> #" & [Forms]![Tri]![Début] & "# And [Elèves]![Date/nais]< #" & [Forms]![Tri]![Fin] & "# And Elèves.Inscrit = True"
c'est à dire en laissant Format([Date/nais], 'yyyy-mm-dd') dans les guillemets pour que la chaîne SQL soit composé de ces caractères et pas de leur valeur
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/06/2011, 16h00   #3
Membre éprouvé
 
Homme Robert LINCE
Conseiller psycho-pédagogique
Inscription : octobre 2007
Messages : 279
Détails du profil
Informations personnelles :
Nom : Homme Robert LINCE
Localisation : Belgique

Informations professionnelles :
Activité : Conseiller psycho-pédagogique
Secteur : Enseignement

Informations forums :
Inscription : octobre 2007
Messages : 279
Points : 478
Points : 478
Par défaut C'est si simple...

Merci Simplifi!

C'est effectivement la solution, et de plus ton explication m'aide vraiment à comprendre la syntaxe.

Bonne fin de journée.

RL
RobiPMS est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h11.


 
 
 
 
Partenaires

Hébergement Web