OVH Cloud OVH Cloud

syntaxe

3 réponses
Avatar
jf
Bonjour a tous,
J'ai quelque chos qui cloche dans un requ=EAte:
Cette premi=E8re requ=EAte fonctionne:
Dim strSQL As String
strSQL =3D "INSERT INTO " & (LaTable) & " (UserLogin) " & _
"SELECT Now() as UserLogin; "
CurrentDb.Execute strSQL

Alors que celle-ci
Msg =3D Now()
strSQL =3D "INSERT INTO " & (LaTable) & " (UserLogin) " & _
"SELECT " & (Msg) & " as UserLogin; "
CurrentDb.Execute strSQL

provoque une erreur de syntaxe (op=E9rateur absent dans=20
l'expression)..
Comment =E9crire cette requ=EAte pour que le contenu de la=20
variable Msg se retrouve dans la table.
D'avance, merci

3 réponses

Avatar
ORDINO
ESSAIE

Msg = Now()
strSQL = "INSERT INTO " & (LaTable) & " UserLogin " & _
"SELECT #" & Msg & "# as UserLogin; "
CurrentDb.Execute strSQL

ORDINO

-----Message d'origine-----
Bonjour a tous,
J'ai quelque chos qui cloche dans un requête:
Cette première requête fonctionne:
Dim strSQL As String
strSQL = "INSERT INTO " & (LaTable) & " (UserLogin) " & _
"SELECT Now() as UserLogin; "
CurrentDb.Execute strSQL

Alors que celle-ci
Msg = Now()
strSQL = "INSERT INTO " & (LaTable) & " (UserLogin) " & _
"SELECT " & (Msg) & " as UserLogin; "
CurrentDb.Execute strSQL

provoque une erreur de syntaxe (opérateur absent dans
l'expression)..
Comment écrire cette requête pour que le contenu de la
variable Msg se retrouve dans la table.
D'avance, merci


.



Avatar
jf
Merci ORDINO,
je vais testé cette solution qui me parait bonne pour le
cas du format date.
J'ai trouvé la formule générale suivante:

strSQL = "INSERT INTO " & (LaTable) & " UserLogin " & _
"SELECT """ & Msg & """ as UserLogin; "
CurrentDb.Execute strSQL

qui fonctionne pour le type de variable qui m'intéresse
(et oui 3")!
A+
jf

-----Message d'origine-----
ESSAIE

Msg = Now()
strSQL = "INSERT INTO " & (LaTable) & " UserLogin " & _
"SELECT #" & Msg & "# as UserLogin; "
CurrentDb.Execute strSQL

ORDINO

-----Message d'origine-----
Bonjour a tous,
J'ai quelque chos qui cloche dans un requête:
Cette première requête fonctionne:
Dim strSQL As String
strSQL = "INSERT INTO " & (LaTable) & " (UserLogin) " & _
"SELECT Now() as UserLogin; "
CurrentDb.Execute strSQL

Alors que celle-ci
Msg = Now()
strSQL = "INSERT INTO " & (LaTable) & " (UserLogin) " & _
"SELECT " & (Msg) & " as UserLogin; "
CurrentDb.Execute strSQL

provoque une erreur de syntaxe (opérateur absent dans
l'expression)..
Comment écrire cette requête pour que le contenu de la
variable Msg se retrouve dans la table.
D'avance, merci


.

.





Avatar
Daniel Carollo
Bonjour jf!

Faite ? Now() dans la fenetre immediate, vous verrez que la reponse obtenue
est de la forme
09/29/2004 07:42:30
ce qui va certainement poser des problemes d'evaluation a JET, qui s'attend
a recevoir une chaine de caracteres, ou une date, ou quelque chose d'un type
determine.

Essayez d'entourer votre chainede caracteres de delimiteurs dans ce qui est
passe a JET, par exemple en faisant:
strSQL = "INSERT INTO " & (LaTable) & " (UserLogin) " & _
"SELECT #" & (Msg) & "# as UserLogin; "

Suivant le type de votre colonne UserLogin, des guillemets simples seront
peut-etre plus appropries.

Une petite remarque au passage, puisque vos variables sont connues a la
composition de la chaine de caracteres, le SELECT est tout a fait superflu,
vous aurriez pu faire:
strSQL = "INSERT INTO " & (LaTable) & " (UserLogin) " & _
"VALUES(#" & (Msg) & "#); "
CurrentDb.Execute strSQL

J'espere que ca vous aide a demarrer...

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"jf" wrote in message
news:300b01c4a58f$baaea2d0$
Bonjour a tous,
J'ai quelque chos qui cloche dans un requête:
Cette première requête fonctionne:
Dim strSQL As String
strSQL = "INSERT INTO " & (LaTable) & " (UserLogin) " & _
"SELECT Now() as UserLogin; "
CurrentDb.Execute strSQL

Alors que celle-ci
Msg = Now()
strSQL = "INSERT INTO " & (LaTable) & " (UserLogin) " & _
"SELECT " & (Msg) & " as UserLogin; "
CurrentDb.Execute strSQL

provoque une erreur de syntaxe (opérateur absent dans
l'expression)..
Comment écrire cette requête pour que le contenu de la
variable Msg se retrouve dans la table.
D'avance, merci