Rechercher : dans
Par :

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

Dernière réponse le 29 jan 2009 à 13:17:27 Alex, le 28 jan 2009 à 23:35:01 
 Signaler ce message aux modérateurs

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
Configuration: Windows vista
Mozilla firefox 3 beta

1

basshero816, le 29 jan 2009 à 00:09:00

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).

Répondre à basshero816

2

Alex, le 29 jan 2009 à 00:32:39

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 ;)

Répondre à Alex

3

mikebzh, le 29 jan 2009 à 07:52:41

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

Répondre à mikebzh

4

Alex, le 29 jan 2009 à 12:22:17

Bien joué c'était exactement ça!!!

je t'en remercie quel efficacité :p

Répondre à Alex

5

 mikebzh, le 29 jan 2009 à 13:17:27

De rien, n'oublies pas de même ton post en résolu
Bye, bonjour de la bretagne.

Répondre à mikebzh
Collection CommentÇaMarche.net