Récupération Sélection ListBox dans Requête
Bonjour,
Je travaillle sur une formulaire Access 2007.
Ma listbox contient les enregistrements de la colonne NOM_BANQUE de ma table Banque.
Je souhaite récupérer la sélection sur NOM_BANQUE dans ma variable globale String txt
ex : Si Sélection NOM_BANQUE = BANQUE1 alors txt = BANQUE1
En effet, uen fois le nom de la banque récupérée dans ma variable txt, je souhaite l'utiliser dans une requête qui me permettra de trouver le CODE_BANQUE qui lui est associé dans ma table Banque.
Je ne vois pas en quoi mon code est incorrect :
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
|
Sub InfosBanque(TypeAffich As Integer)
Dim oDb As DAO.Database
Dim oRst As DAO.Recordset
Dim mySQL As String
Dim str_Code_Banque As String ' variable donnant le CIB d'une banque
Dim i As Integer
On Error GoTo Err_InfosTxt
Set oDb = CurrentDb
'Parcours de la listbox
For i = 0 To Form_Formulaire1.ListBanque.ListCount - 1
'Vérification que l'élement est sélectionné
If Form_Formulaire1.ListBanque.Selected(i) = True Then
'récupération d 'une nom de la banque sélectionnée
txt = Form_Formulaire1.ListBanque.ItemData(i)
'Nous fermons les connexions
End If
Next i
mySQL = "SELECT CODE_BANQUE"
mySQL = mySQL & " FROM BANQUE"
mySQL = mySQL & " WHERE BANQUE.NOM_BANQUE Like '" & txt & "'"
Set oRst = oDb.OpenRecordset(mySQL, dbOpenSnapshot)
str_Code_Banque = oRst.Fields(0)
oRst.Close
oDb.Close
Set oDb = Nothing
Set oRst = Nothing
'Nous pouvons maintenant attribuer à notre Label ou MsgBox le contenu de notre variable "str_Code_Banque "
Select Case TypeAffich
Case Is = -1 'met à jour le Label
Form_Formulaire1.Txt_Code_Banque.ControlSource = _
"=" & """" & str_Code_Banque & """"
Case Is = 0
MsgBox str_Code_Banque 'Ouvre la MsgBox avec le même résultat
End Select
Exit_InfosTxt:
Exit Sub
Err_InfosTxt:
MsgBox Err.Description
Resume Exit_InfosTxt
End Sub |
Je vous remercie pour votre aide.
Cordialement,