Syntaxe champ date dans INSERT INTO

Le
Twitzig
Bonjour,

J'ai créé du code pour une requête d'insertion.
Tout fonctionne, sauf que, lorque, dans cette requête, j'inclue un champ de
type date, j'ai une erreur de syntaxe du module VBA lors de l'exécution
(erreur d'exécution 3134: erreur de syntaxe dans l'instruction INSERT INTO)

Je joins ci-dessous mon code (avec création de la requête découpée en
plusieurs étapes pour des besoins d'analyse)

Je précise que le format du champ Date_op est "date abrégée" (comme tous les
champs date de ma base)

chaine = "INSERT INTO compte_social
(Date,Description,Destinataire,Origine,Debit,No_cheque) VALUES ('"
chaine = chaine & Date_op & "','Sport culture','"
chaine = chaine & Nom_collabo & "','Chèque',"
chaine = chaine & Valeur & ","
chaine = chaine & Cheque & ");"
DoCmd.RunSQL (chaine)

J'ai essayé en enlevant les ' autour de la date, mais rien n'y fait

Quelqu'un aurait il une idée???

D'avance merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilbert
Le #6379801
Bonjour,

Tu peux essayer avec des # au lieu des ' autour de la date.
As-tu testé ta requête directement sans passer par VBA?
Met un point d'arrêt sur la ligne DoCmd.RunSQL (chaine)
Récupère la valeur de "chaine" et copie-la dans la fenêtre SQL d'une
nouvelle requête.
En principe après le message d'erreur, le pointeur de la souris sera situé
au niveau du problème de syntaxe.

--
Cordialement,

Gilbert


"Twitzig" news:
Bonjour,

J'ai créé du code pour une requête d'insertion.
Tout fonctionne, sauf que, lorque, dans cette requête, j'inclue un champ
de

type date, j'ai une erreur de syntaxe du module VBA lors de l'exécution
(erreur d'exécution 3134: erreur de syntaxe dans l'instruction INSERT
INTO)


Je joins ci-dessous mon code (avec création de la requête découpée en
plusieurs étapes pour des besoins d'analyse)

Je précise que le format du champ Date_op est "date abrégée" (comme tous
les

champs date de ma base)

chaine = "INSERT INTO compte_social
(Date,Description,Destinataire,Origine,Debit,No_cheque) VALUES ('"
chaine = chaine & Date_op & "','Sport culture','"
chaine = chaine & Nom_collabo & "','Chèque',"
chaine = chaine & Valeur & ","
chaine = chaine & Cheque & ");"
DoCmd.RunSQL (chaine)

J'ai essayé en enlevant les ' autour de la date, mais rien n'y fait

Quelqu'un aurait il une idée???

D'avance merci



Fabien
Le #6379771
Bonjour,

J'ai créé du code pour une requête d'insertion.
Tout fonctionne, sauf que, lorque, dans cette requête, j'inclue un champ de
type date, j'ai une erreur de syntaxe du module VBA lors de l'exécution
(erreur d'exécution 3134: erreur de syntaxe dans l'instruction INSERT INTO)

Je joins ci-dessous mon code (avec création de la requête découpée en
plusieurs étapes pour des besoins d'analyse)

Je précise que le format du champ Date_op est "date abrégée" (comme tous les
champs date de ma base)

chaine = "INSERT INTO compte_social
(Date,Description,Destinataire,Origine,Debit,No_cheque) VALUES ('"
chaine = chaine & Date_op & "','Sport culture','"
chaine = chaine & Nom_collabo & "','Chèque',"
chaine = chaine & Valeur & ","
chaine = chaine & Cheque & ");"
DoCmd.RunSQL (chaine)

J'ai essayé en enlevant les ' autour de la date, mais rien n'y fait

Quelqu'un aurait il une idée???

D'avance merci

Bonjour,

Je me permet de completer :

chaine = chaine & "#" & format(Date_op,"dd/mm/yyyy") & "#,'Sport culture','"
chaine = chaine & Nom_collabo & "','Chèque',"
chaine = chaine & Valeur & ","
chaine = chaine & Cheque & ");"
DoCmd.RunSQL (chaine)


Twitzig
Le #6379761
Merci du tuyau.... en fait, le pb était tout "c...".... le champ destination
de ma table s'appelait "date" tout court..... je l'ai changé en
"date_enreg".... et ca a marché (Date étant un mot réservé!!!!!)

Cordialement


Bonjour,

Tu peux essayer avec des # au lieu des ' autour de la date.
As-tu testé ta requête directement sans passer par VBA?
Met un point d'arrêt sur la ligne DoCmd.RunSQL (chaine)
Récupère la valeur de "chaine" et copie-la dans la fenêtre SQL d'une
nouvelle requête.
En principe après le message d'erreur, le pointeur de la souris sera situé
au niveau du problème de syntaxe.

--
Cordialement,

Gilbert


"Twitzig" news:
Bonjour,

J'ai créé du code pour une requête d'insertion.
Tout fonctionne, sauf que, lorque, dans cette requête, j'inclue un champ
de

type date, j'ai une erreur de syntaxe du module VBA lors de l'exécution
(erreur d'exécution 3134: erreur de syntaxe dans l'instruction INSERT
INTO)


Je joins ci-dessous mon code (avec création de la requête découpée en
plusieurs étapes pour des besoins d'analyse)

Je précise que le format du champ Date_op est "date abrégée" (comme tous
les

champs date de ma base)

chaine = "INSERT INTO compte_social
(Date,Description,Destinataire,Origine,Debit,No_cheque) VALUES ('"
chaine = chaine & Date_op & "','Sport culture','"
chaine = chaine & Nom_collabo & "','Chèque',"
chaine = chaine & Valeur & ","
chaine = chaine & Cheque & ");"
DoCmd.RunSQL (chaine)

J'ai essayé en enlevant les ' autour de la date, mais rien n'y fait

Quelqu'un aurait il une idée???

D'avance merci








Publicité
Poster une réponse
Anonyme