[code VBA]passage de variable pour une requête paramétrée
J'ai un formulaire avec un groupe d'option et une zone de liste
Le groupe d'option permet choisir un type de recherche par date, client ou catégorie. La réponse passe par une input box dont la valeur est transmise comme paramètre à une requête.
La requête sert alors pour le rowsource de la zone de liste.
j'ai le message d'erreur suivant "erreur 3265 : impossible de trouver l'objet dans la collection correspondant au nom ou à la référence orinale demandée"
Le déboggeur bloque sur les lignes cmdGestion.Parameters("") = sRponseRequte
J'avais déjà utilisé ce type de code pour une autre requête et cela fonctionnait8O suis paumé. si vous voyez le soucis ou un autre moyen de passer la paramètre de la requête:king:
Merci
voila le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
|
Private Sub CadreOption_AfterUpdate()
'Procdure de slection des options
'Dclaration des variables de rponse
Dim sDateMoisTest As String
Dim vRponseOption As Variant
Dim sRponseRequte As String
Dim dRponseRequte As Date
'Dclaration des variables lie la requte paramtre
Dim curConn As New ADODB.Connection
Dim catGestion As New ADOX.Catalog
'Dim rst As New ADODB.Recordset
Dim cmdGestion As New ADODB.Command
Dim vRequteGestion As Variant
Dim objRequeryGestionEnregistrement As Object
Dim dbs As Object
'Dfinition de la connection
Set dbs = Application.CurrentProject
Set curConn = CurrentProject.Connection
catGestion.ActiveConnection = curConn
'Choix en fonction de l'option
With CodeContextObject
'selection Date
If .[CadreOption] = 2 Then
'Demande de la date et test de vRponseOption
Do
vRponseOption = InputBox("Entrez la date que vous recherchez sous la forme jj/mm/aaaa", "Date")
sDateMoisTest = vRponseOption
If vRponseOption = "" Then
Exit Sub
End If
Loop Until TestMois(sDateMoisTest) = False
dRponseRequte = Format(sDateMoisTest, "mm/dd/yyyy")
'passage de la variable date demande vers la requte Gestion Date Requte
Set objRequery = Application.CurrentData.AllQueries("Gestion Date Requte")
vRequteGestion = objRequery.Name
Set cmdGestion = catGestion.Procedures(vRequteGestion).Command
cmdGestion.Parameters("[DateSaisie]") = dRponseRequte
'Modification du row source avec la requte
.[Gestion_recherche_list].RowSource = ""
.[Gestion_recherche_list].RowSourceType = "Table/Query"
.[Gestion_recherche_list].RowSource = "Gestion Date Requte"
End If
'selection client
If .[CadreOption] = 3 Then
vRponseOption = InputBox("Entrez le nom du client", "Client")
If vRponseOption = "" Then
Exit Sub
End If
sRponseRequte = vRponseOption
'passage de la variable date demande vers la requte Gestion Clients Requte
Set objRequery = Application.CurrentData.AllQueries("Gestion Clients Requte")
vRequteGestion = objRequery.Name
Set cmdGestion = catGestion.Procedures(vRequteGestion).Command
cmdGestion.Parameters("[NomClients]") = sRponseRequte
'Modification du row source avec la requte
.[Gestion_recherche_list].RowSource = ""
.[Gestion_recherche_list].RowSourceType = "Table/Query"
.[Gestion_recherche_list].RowSource = "Gestion Clients Requte"
End If
'selection catgorie
If .[CadreOption] = 4 Then
vRponseOption = InputBox("Entrez la catgorie", "Catgorie")
If vRponseOption = "" Then
Exit Sub
End If
sRponseRequte = vRponseOption
Set objRequery = Application.CurrentData.AllQueries("Gestion Catgorie Requte")
vRequteGestion = objRequery.Name
cmdGestion.Parameters("[GestionCatgorie]") = sRponseRequte
'Modification du row source avec la requte
.[Gestion_recherche_list].RowSource = ""
.[Gestion_recherche_list].RowSourceType = "Table/Query"
.[Gestion_recherche_list].RowSource = "Gestion Catgorie Requte"
End If
End With
End Sub] |