Insérer une variable dans une instruction sql

NinJoDo Messages postés 23 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 mars 2007 - 2 févr. 2006 à 11:27
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 2 févr. 2006 à 15:44
Bonjour à tous,

la question que je vais poser est classique et traitée des milliers de fois dans les forums. Pourtant aucune des solutions proposées ne fonctionne dans mon code.
Environnement :
ACCESS
VB
Formulaire

Partie de mon code :
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long


Public Function nomordi() As String
' Retourne le nom de l'ordinateur
Dim stTmp As String, lgTmp As Long, requete As String
stTmp = Space$(250)
lgTmp = 251
Call GetComputerName(stTmp, lgTmp)
ComputerName = Left$(stTmp, lgTmp)
'Ajoute le nom de l'ordinateur dans la requete R-log
requete = "INSERT INTO [R-log](ordinateur) VALUES ('" & stTmp & "')"
CurrentDb.Execute (requete)
End Function

Le problème vient de la requete.Le message d'erreur est le suivant (le nom de mon ordi est "coordonnateur")
Erreur de syntaxe dans la chaîne dans l'expression
"COORDONNATEUR'.

C'est certainement un problème tout bête mais j'ai déjà perdu assez de temps dessus.

Merci à ceux qui pourront m'aider.

11 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 févr. 2006 à 11:40
Salut,

C est quoi [R-Log] dans la requette
0
NinJoDo Messages postés 23 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 mars 2007
2 févr. 2006 à 11:59
R-log c'est ma requête
0
NinJoDo Messages postés 23 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 mars 2007
2 févr. 2006 à 12:01
J'ai une nouvelle piste

Il semblerait que le nom de mon ordinateur apparaisse
COORDONNATEUR$

dans la msgbox d'essai
COORDONNATEUR

mais dans le débugger j'ai :
COORDONNATEUR suivi d'un carré
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 févr. 2006 à 12:02
"INSERT INTO" c est la synthaxe d insertion dans une table non?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NinJoDo Messages postés 23 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 mars 2007
2 févr. 2006 à 12:02
donc je pense que la requete ne gère pas le caractère $
0
NinJoDo Messages postés 23 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 mars 2007
2 févr. 2006 à 12:04
pas forcément dans une table. d'ailleurs quand j'affecte la chaîne 'coucou' à la variable stTmp, j'obtiens bien coucou dans la table.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 févr. 2006 à 12:09
Oui dans LA TABLE mais pas dans la requete???

Toi tu veux inserer le nom de l ordinateur dans une table non?
0
NinJoDo Messages postés 23 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 mars 2007
2 févr. 2006 à 12:16
bon ok..; j'ai modifié le commentaire.


mais règle pas mon problème
0
NinJoDo Messages postés 23 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 mars 2007
2 févr. 2006 à 14:00
ça règle pas mon problème*
0
NinJoDo Messages postés 23 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 mars 2007
2 févr. 2006 à 14:31
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long


Public Function nomordi() As String
' Retourne le nom de l'ordinateur
Dim stTmp As String, lgTmp As Long, requete As String
stTmp = Space$(250)
lgTmp = 251
Call GetComputerName(stTmp, lgTmp)
Computername = Left$(stTmp, lgTmp)
'Ajoute le nom de l'ordinateur dans la table T-log
requete = "INSERT INTO [R-log](ordinateur) VALUES ('" & Computername & "');"
CurrentDb.Execute (requete)
End Function
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 févr. 2006 à 15:44
Salut
De plus, je dirais qu'il faut un espace entre le nom de ta table [R-log] et la parenthèse (
0
Rejoignez-nous