Rubrik: Datenbanken · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 04.05.07 |
ComboBox mit Recordset-Inhalt füllen Dieser Tipp zeigt, wie man den Inhalt eines Recordset-Objekts zur Auswahl in einer ComboBox anzeigt | ||
Autor: Dieter Otter | Bewertung: | Views: 16.807 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Immer wieder taucht die Frage auf, wie man den Inhalt eines Recordsets zur Auswahl in einer ComboBox anzeigen kann. Die einzelnen Datensätze haben hierbei eine eindeutige ID, mit der man später auch weiterarbeiten muss. In der ComboBox soll jedoch anstelle der ID ein aussagekräftigeres Datenbank feld zur Auswahl angezeigt werden.
Beispiel:
Es sollen alle Mitarbeiter der Tabelle "tblMitarbeiter" zur Auswahl angezeigt werden. Jeder Mitarbeiter hat eine eindeutige ID (Auto-Nr). Diese ID wird im Anschluß für die die weitere
Verarbeitung benötigt.
Lösung:
Die ID wird in die ItemData-Eigenschaft des jeweiligen ComboBox-Eintrags gespeichert und kann über diese auch wieder ausgelesen werden.
' ComboBox mit Recordset-Daten füllen ' und ID in der ItemData-Eigenschaft speichern With Combo1 oRs.MoveFirst Do While Not oRs.EOF .AddItem oRs("Name") .ItemData(.NewIndex) = oRs("id") oRs.MoveNext Loop End With
' nach Auswahl eines Eintrags, wird die ID des ' Mitarbeiters zur weiteren Verarbeitung benötigt Dim nID As Long With Combo1 If .ListIndex > -1 Then nID = .ItemData(.ListIndex) ... End If End With