er is een StringObj nodig, staat op deze site.
Public Sub WriteMultiListBox(lstBox As ListBox)
Dim varItem As Variant
Dim Obj As New StringObj
'als je een andere tekstscheider wilt, de volgende regel activeren en aanpassen
'Obj.Init "", <scheidingstekst>
For Each varItem In lstBox.ItemsSelected
Obj.Add lstBox.ItemData(varItem)
Next varItem
lstBox.Parent(lstBox.ControlSource) = Obj.Value
Set Obj = Nothing
End Sub
Dit is niet grappig als er veel items in de keuzelijst staan, maar ik weet nog geen betere methode
Public Sub SetMultiListBox(lstBox As ListBox, rst As recordset)
Dim i As Integer
For i = 0 To lstBox.ListCount - 1
rst.findFirst lstBox.ControlSource & "='" & lstBox.ItemData(i) & "'"
lstBox.Selected(i) = Not rst.NoMatch
Next i
End Sub