Bonjour à tous,
Je suis débutant en VBA et je souhaiterais avoir vos lumières sur mon problème :
J'ai sous Access 2003 enregistré une requête paramétrée, que je souhaiterais éxécuter en fonction d'une valeur sélectionnée dans un champ.

Je me suis un peu documenté, (notamment sur les tutos et forums de developpez.com) et ai opté pour passer comme paramètre à la requête une variable sous VBA, variable déclarée bien entendu dans le code lié à l'évènement doubleclic du champ concerné (en l'occurence, c'est une liste).

J'ai donc déclaré un objet DAO.QueryDef
La variable string censée contenir la valeur de mon paramètre
J'ai affecté la valeur du champ à la dite variable
J'ai chargé ma requête paramétrée dans l'objet QueryDef
J'ai affecté à l'attribut "parameters" de l'objet QueryDef la variable
Je lance la méthode d'éxécution de l'objet QueryDef

Voici le code correspondant à cette séquence :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Liste52_DblClick()
 
Dim qdf As DAO.QueryDef
Dim correspondant As String
 
correspondant = Liste52.Value
 
Set qdf = CurrentDb.QueryDefs("Applis_AD_Corresp")
qdf.Parameters("NOM_CORRESP") = correspondant
MsgBox (qdf.Parameters("NOM_CORRESP")) 'là, c'est une trace
qdf.Execute
 
End Sub
Il est à noter que j'ai vérifié ma requête paramétrée en la lançant...elle s'éxécute sans problème, mais l'éxécution se bloque lorsque l'objet qdf lance sa méthode d'éxécution (le débugueur pointe sur cette ligne en erreur)

Un message d'erreur s'affiche : "impossible d'éxécuter une requête de sélection" (erreur 3065).

Auriez vous quelques détails à propos de cette erreurs ou auriez vous remarqué des erreur dans le copier collé que je vous ai fait (c'est pas faute d'avoir vérifié ^^) ?

Merci d'avance