SQL DANS VBA ACCESS 2007

Fermé
BSALIM - 16 mars 2008 à 01:25
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 16 mars 2008 à 03:14
Bonjour,

J'ai 2 tables "Clients" et "Factures", je veux insérer du SQL dnas mon code VBA pour trouver toutes les factures d'un clients X entre une date "dateinfer" et "datesuper", le numéro du client et les deux dates sont recuperés d'un formulaire qui a trois champs (numéro_client, datedebut et datefin).
Ausein du code si je rentre manuellement le numéero du client et les deux dates tt fontionne bien et je recupère ttes les factures concernées par ma requete pour le bon client, mais si je recupère les valeux fournies par le formulaire j'aurai un message d'erreur comme quoi trop peu de paramètres
Je vous donne mon code du boutton commande0 (qui démarre la recherche), en espérant que vous puissiez m'aider
Merci d'avance.

Private Sub Commande0_Click()
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim y As Integer
Dim mysql As String
Dim dateinfer As Date
Dim datesuper As Date
Set Db = CurrentDb
dateinfer = Me.Texte9.Value
datesuper=Me.Texte11.value
y=Me.texte10.value
datesuper = Me.Texte11.Value
mysql = "select [datefacture],[nofacture]"
mysql = mysql + "from [factures]"
mysql = mysql + "where [factures]![nocontact].value= y"
'mysql = mysql + "AND [datefacture]>dateinfer"
'and [datefacture]<datesuper"
Set Rs = Db.OpenRecordset(mysql)
Rs.MoveFirst
While Not Rs.EOF
MsgBox Rs("nofacture") & " " & Rs("datefacture")
'& " " & Rs("nom_client") & " " & Rs("prenom")
Rs.MoveNext
Wend
Exit_Sub:
Set Rs = Nothing
Set Db = Nothing
End Sub
A voir également:

1 réponse

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
16 mars 2008 à 03:14
bonjour,

une erreur ici :

mysql = mysql + "where [factures]![nocontact].value= y"

il faut faire :

mysql = mysql + "where [factures]![nocontact].value= " & y

;o)

polux