Hi, ist relativ einfach zu erledigen.
Der nachfolgende Code stamm aus einem lauffähigen Programm (Anzeige von Kunden).
Schau auch mal in der Hilfe unter "index" für Listfelder nach (kann sehr hilfreich sein)!
Im Formular wird eine ComboBox (cboKunde) eingefügt.
Beim Laden der Form wird die Datei ausgelesen und als Liste angezeigt.
Die Datei wurde einfach mit einem Texteditor erstellt und hat folgenden Aufbau:
Index - laufende Nummer
; - als Trennzeichen
Kunde - Kundenname (Text)
; - als Trennzeichen
Kundennummer - für Listindex
Private Sub Form_Load()
Dim i%, j%
Dim sDummy§
On Error Resume Next
' öffnen Datei
hFile = FreeFile
Open sLocalFile For Input As hFile
sDummy = ""
Do While Not EOF(hFile)
Line Input #hFile, sDummy
' Position der Trennzeichen suchen
i = InStr(sDummy, ";")
j = InStr(i + 1, sDummy, ";")
With Kunden
.Index = Left$(sDummy, i - 1)
.Name = Mid$(sDummy, i + 1, j - i - 1)
.Nummer = Right$(sDummy, Len(sDummy) - j)
' Kombinationsfeld füllen
cboKunde.AddItem .Name
' Kunde "erste Stelle wird nicht verwendet" (LongInteger)
cboKunde.ItemData(.Index) = .Nummer
End With
Loop
Close #hFile
' auf ersten Satz Positionieren
cboKunde.ListIndex = 0
End Sub