Utiliser variable dans requête Select [VBA]
Bonjour à tous,
J'utilise Access 2003.
Je cherche "simplement" à utiliser une variable string pour la condition where d'une requête select.
Ma table s'appelle Outils, la clé est N° d'identification et Type d'outil un champ dont la valeur est commune à plusieurs enregistrements.
Voici le code essayé:
Dans un module
Code:
1 2 3 4 5
| Public num_identification As Variant
Public Function numident() As Variant
numident = num_identification
End Function |
Dans ma procédure
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
| Dim bdd As DAO.Database
Dim tableactive As DAO.Recordset
Dim type_outil As String
'On récupère la variable saisie par l'utilisateur dans le formulaire actif
num_identification = Me.Listbox_numoutil.Value
'Sélectionner la bdd voulue
Set bdd = CurrentDb
'Je pense qu'il y a un probléme de syntaxe ici
type_outil = "SELECT [Type d'outil] from [Outils] where [N° d'identification]= numident()"
Set tableactive = bdd.OpenRecordset(type_outil, dbOpenDynaset)
If Not tableactive.EOF Then
tableactive.MoveFirst
While Not tableactive.EOF
tableactive.MoveNext
Wend
Else
MsgBox "La requête ne correspond à aucun enregistrement."
End If
'J'essaye d'utiliser le résultat de la requête
If tableactive("Type d'outil").Value = "F" Then
masquer_masques_saisie
Me.Textbox_diafiliere.Visible = True
End If |
J'obtiens l'erreur 3021, aucun enregistrement en cours alors que je suis certain d'avoir un enregistrement correspondant puisque la valeur de ma variable num_identification provient d'une listbox qui elle-même récupère les numéros d'identification existants dans ma table.
Est-ce que vous avez une idée des erreurs que j'ai commises?
Merci d'avance pour vos réponses.