OVH Cloud OVH Cloud

insérer variable dans option de requète

1 réponse
Avatar
PORTHOS
Afin d'automatiser l'édition des bulletins de salaires de l'association j'ai
créé les instructions suivantes à partir d'un formulaire sous Word 2000 :

Private Sub CommandButton1_Click()
Dim moispaye As String
'définir une variable moispaye

moispaye = InputBox("Mois de la paye : ex janvier")
' Macro1 Macro
' Macro enregistrée le 07/11/2004
'Cette macro commande l'ouverture du document type sous Word

Documents.Open FileName:="""C:\ASSOC\Paye\Bulletin salaire sur conv
col.doc""", _
ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False,
_
PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
wdOpenFormatAuto

' Macro2maj_mois Macro
' Macro enregistrée le 07/11/2004
'Cette macro est l'utilisation de de la fenêtre Aide au publipostage et
accès à la fenêtre options de requête complètée par la saisie du mois :
novembre
ActiveDocument.MailMerge.DataSource.QueryString = _
"SELECT * FROM C:\ASSOC\Paye\simulation 2004.xls WHERE ((mois =
'novembre' ))" _
& ""
End Sub

Dans l'instruction SELECT ... FROM ...WHERE ci-dessus je veux substituer à
la frappe novembre, la valeur de ma variable moispaye

J'ai fait plusieurs tentatives dont la plus évidente comme WHERE ((mois =
moispaye))

J'obtiens à chaque fois le message d'erreur suivant :

Erreur d'exécution 5638
Impossible d'analyser la syntaxe des options de requête dans une chaine SQL
valide.

Pouvez-vous m'aider à formuler correctement cette condition WHERE

Merci d'avance
PORTHOS

1 réponse

Avatar
Anacoluthe
Bonjour !

'PORTHOS' nous a écrit ...
Pouvez-vous m'aider à formuler correctement cette condition WHERE


Une requête SQL est une simple chaîne de caractères (String) !!!
Relisez simplement comment composer une chaîne en VBA :
Mois = "novembre"
MaChaine = "C'est en " & Mois & " que nous sommes"
MaChaine est composée avec des chaînes littérales et une variable.
Pareil pour paramétrer votre requête !

Anacoluthe
« La liberté consiste à faire tout ce que permet
la longueur de la chaîne. »
- François CAVANNA