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

Syntaxe champ date dans INSERT INTO

3 réponses
Avatar
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

3 réponses

Avatar
Gilbert
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" a écrit dans le message de
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



Avatar
Fabien
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)


Avatar
Twitzig
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" a écrit dans le message de
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