VBA et requête sql

nicoyov Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 EBasta -
Bonjour,
Actuellement en stage dans le cadre de ma formation, je me trouve confronter à un problème : une erreur 3061, Trop peu de paramètres, 2 attendu.

Voici le code :

Private Sub Commande10_Click()
Dim lieu As String
Dim nom As String
Dim str As String
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim fld As DAO.Field
Set db = DBEngine.OpenDatabase("J:\stage\Base de données.mdb")
ville = InputBox("Entrez le nom de la ville où est située l'entreprise")
nom = InputBox("Entrez le nom de l'entreprise")
str = "select [Raison sociale] from [Informations générales sur l'entreprise] where [Informations générales sur l'entreprise].[Raison Sociale]=nom and [Informations générales sur l'entreprise].ville=lieu"
Set rst = db.OpenRecordset(str, dbOpenForwardOnly, dbReadOnly)
rst.Close
End Sub

Si quelqu'un peut m'aider et me dire comment régler le problème, ça serait sympa
Merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. xjl Messages postés 232 Statut Membre 183
     
    Salut,

    je ne suis pas sûr que ça ait un rapport avec ton problème, mais à mon avis il y a une erreur:
    - soit tu voulais mettre .lieu=ville
    - soit tu voulais mettre lieu=InputBox...

    Enfin j'y connais pas grand chose en Vba Access mais je pense qu'il y a un truc comme ça...
    0
  2. sncf Messages postés 122 Statut Membre 14
     
    Bonsoir

    je pense que tu devrais essayer (mais c'est sans garantie)

    str = "select [Raison sociale] from [Informations générales sur l'entreprise] where ([Informations générales sur l'entreprise].[Raison Sociale]=nom) and ([Informations générales sur l'entreprise].[ville]=lieu)"
    0
  3. EBasta
     
    Bonjour,

    La variable ville doit correspondre à lieu...
    donc :

    lieu= InputBox("Entrez le nom de la ville où est située l'entreprise")

    lieu et nom sont des caractères (string). Ceratains caractères sont à éviter (surtout comme l'apostrophe ' ) !

    La commande sql devrait alors être :

    str = "select [Raison sociale] from [Informations générales sur l'entreprise] where [Informations générales sur l'entreprise].[Raison Sociale]=""" & nom & """ and [Informations générales sur l'entreprise].ville=""" & lieu & """"

    J'espère que c'est correct !
    0