[VBA/ Access] erreur d'execution '3061' [Résolu/Fermé]

Signaler
-
 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

Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
24
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56616 internautes nous ont dit merci ce mois-ci

Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
24
De rien, n'oublies pas de même ton post en résolu
Bye, bonjour de la bretagne.
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 ?
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.
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).
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 ;)
Bien joué c'était exactement ça!!!

je t'en remercie quel efficacité :p