[VBA/ Access] erreur d'execution '3061'

Résolu/Fermé
Alex - 28 janv. 2009 à 23:35
 Matabio - 12 avril 2012 à 14:54
Bonjour,


J'ai actuellement un petit soucis avec le VBA que j'ai fais, j'ai une erreur qui dit " erreur d'execution '3061' : trop peu de parametre 1 attendu.

voici le script :

Private Sub ldr_Produit_AfterUpdate()

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb()
Set rs = db.OpenRecordset("select * from Produit where Pdt_Ref=" & Me.ldr_Produit & " ;")

Me.txt_date_entrée = rs("Date_Entrée")
Me.Txt_stock_actuel = rs("Stock_Actuel")
Me.txt_prix = rs("Pdt_Prix")



End Sub


Il me souligne la ligne : " Set rs = db.OpenRecordset("select * from Produit where Pdt_Ref=" & Me.ldr_Produit & " ;")

J'ai une table Produit, Categorie, Client
Dans Produit les champs sont Pdt_Red ( clé primaire), Pdt_Designation, Pdt_Categorie, Date_Entrée, Pdt_Prix,Stock_Actuel.

Quand je met la souris sur le surlignement il me dit Me.ldr_Produit="Mas02" ( Mas02 est une donnée de la clé primaire) et quand je met la souris sur Me.txt_date_entrée il me dit Me.txt_date_entrée="NULL"

Voila j'espère avoir était le plus clair possible merci de repondre a mon attente si vous savez la reponse

PS: j'ai vérifie chaque nom si il était bien orthographié et ils le sont

5 réponses

mikebzh Messages postés 127 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 11 mars 2009 28
29 janv. 2009 à 07:52
Coucou
Truc tout bête que je n'ai pas eu le temps de tester mais bon.
Quand tu "fabriques ta requète SQL
Set rs = db.OpenRecordset("select * from Produit where Pdt_Ref=" & Me.ldr_Produit & " ;")
cela donne un truc du style "select * from Produit where Pdt_Ref=Mas02 ;"
or la syntaxe serait plus du style
"select * from Produit where Pdt_Ref='Mas02' ;"
donc essayes de rajouter les guillemets
Set rs = db.OpenRecordset("select * from Produit where Pdt_Ref='" & Me.ldr_Produit & "' ;")

Bonne journée
7
mikebzh Messages postés 127 Date d'inscription samedi 20 décembre 2008 Statut Membre Dernière intervention 11 mars 2009 28
29 janv. 2009 à 13:17
De rien, n'oublies pas de même ton post en résolu
Bye, bonjour de la bretagne.
2
Bonjour,

J'ai le même problème :

Set exo = dbs.OpenRecordset("SELECT * FROM [Permut à 3];")

où dans l'écriture SQL de la requête "permut à 3" j'ai des guillemets.

D'après toi, dois-je les enlever pour que ça marche ?
0
Après encore un peu de recherche ... ce n'est pas le problème !!

Dans une requête DAO recordset ON NE PEUT PAS FAIRE REFERENCE A UN FORMULAIRE !!

Désolé pour le dérangement.
0
Salut,

A mon avis, c'est le champ date qui produit l'erreur. Il doit être différent de Null, sinon le recordset ne s'ouvre pas (je pense).
0
Ok mais je ne vois pas comment remedié a ce que tu me dis.

le champs date est pas vraiment null, car dans ma table j'ai des donnée au champs date

Merci pour tes reponses ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bien joué c'était exactement ça!!!

je t'en remercie quel efficacité :p
0