[déplacé VB.NET -> VBA] Erreur 3061 dans programme VBA

fbourdon2 Messages postés 2 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 6 octobre 2009 - 6 oct. 2009 à 15:03
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 6 oct. 2009 à 15:40
Bonjour à tous !
Dans mon programme VBA je passe un paramètre à une requête SQL comme suit :

Option Compare Database
Option Explicit
Dim db As DAO.Database, rst As DAO.Recordset
Sub ImpressionFacture()

Set db = CurrentDb() ' Ouvre la requête facture

'Saisie du numéro de facture pour impression

Dim Réponse As Integer
Dim sql As String

Réponse = Val(InputBox("Saisissez le N° de facture :", "Saisie N° Facture"))

sql = "SELECT * FROM Factures WHERE Factures.[N° Facture]= Réponse;"

Set rst = CurrentDb.OpenRecordset(sql)

Le programme plante à l'instruction ci-dessus avec le message "Erreur 3061 - Trop peu de paramètres 1 attendu"

Que peut-il bien se passer ?

Merci d'avance pour vos lumières ...

fbou

3 réponses

Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
6 oct. 2009 à 15:19
Bonjour,

Il faut sortir la variable réponse de la chaîne constituant ta requête, ce qui donne ceci:

sql = "SELECT * FROM Factures WHERE Factures.[N° Facture]= " & Réponse

A part ça, un petit conseil: Fais comme Microsoft, jette DAO aux oubliettes de l'histoire du développement et utilise ADO.



Calade
0
fbourdon2 Messages postés 2 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 6 octobre 2009
6 oct. 2009 à 15:35
Merci de ta réponse , mais ça ne marche toujours pas ....

Merci d'avance !

Fbou
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
6 oct. 2009 à 15:40
Quelle est ton erreur cette fois ? Je ne pense pas que ce soit la même.
Vérifie que ton champ réponse et ton champ dans ta table soit bien du même type.


Calade
0
Rejoignez-nous