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

Résolu
Alex -  
 Matabio -
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   Statut Membre Dernière intervention   28
 
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   Statut Membre Dernière intervention   28
 
De rien, n'oublies pas de même ton post en résolu
Bye, bonjour de la bretagne.
2
Matabio
 
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
Matabio
 
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
basshero816
 
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
Alex
 
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
Alex
 
Bien joué c'était exactement ça!!!

je t'en remercie quel efficacité :p
0