VBA et requête sql

Fermé
nicoyov Messages postés 1 Date d'inscription mardi 15 mai 2007 Statut Membre Dernière intervention 15 mai 2007 - 15 mai 2007 à 10:42
 EBasta - 16 mai 2007 à 10:52
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

3 réponses

xjl Messages postés 232 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 12 juin 2007 183
15 mai 2007 à 10:49
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
sncf Messages postés 121 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 11 septembre 2011 14
15 mai 2007 à 23:13
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
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