Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listbox per Reckordset füllen?

Forumthread: Listbox per Reckordset füllen?

Listbox per Reckordset füllen?
31.10.2004 18:36:45
andreas
Hallo...,
die Suche war bisher erfolglos...
Wie kann ich eine Excel-UF-ListBox per Rekordset füllen, ohne Umweg über eine Exceltabelle? Das Rekordset greift auf eine Accessdatenbank zu.
Danke für eure Hilfe.
Und tschüß
andreas
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox per Reckordset füllen?
31.10.2004 19:45:27
andre
Hallo andreas,
z.b. direkt in der Schleife wo die Werte ausgelesen werden oder über ein array, mal aus einem code von mir:

Private Sub cmdOK_Click()
Dim feld As Field
ListBox1.Clear
ListBox1.ColumnWidths = ""
'ListBox1.AddItem (feld.Value)
If lsttab.Text <> "" Then       'ansonsten tabelle artikel aus sub dbopen
Set RS = DB.OpenRecordset(lsttab.Text, dbOpenSnapshot, dbReadOnly)
End If
RS.MoveLast                     ' sonst bringt rs.recordcount 1
RS.MoveFirst
'    Dim arrTabelle(1 To 10, 1 To 10) hier nicht, da variable Array-Zahl
ReDim arrTabelle(1 To RS.Fields.Count, 1 To RS.RecordCount)
UserForm2.ListBox1.ColumnCount = RS.Fields.Count
For Each feld In RS.Fields      ' Spaltengrösse der Listbox einstellen
If feld.Type = Date Then
FeldGroesse = 5 * feld.Size + 25   ' summand für rand, bei datum zzgl
Else                                    ' Platz fuer Punkte
FeldGroesse = 5 * feld.Size + 15   ' Feldtyp Beschreibung DB-Size = 0!!
End If                                  ' da Länge dieses Typ's variabel ist
If ListBox1.ColumnWidths = "" Then      ' erste Groesse ohne Semikolon
ListBox1.ColumnWidths = FeldGroesse
Else
ListBox1.ColumnWidths = ListBox1.ColumnWidths & ";" & FeldGroesse
End If
Next
Dim intRow As Integer, intCol As Integer
For intRow = 1 To RS.RecordCount  ' array füllen / Zeilen
intCol = 0                    ' muss für jede neue Zeile auf null gesetzt werden
For Each feld In RS.Fields    ' array füllen / Spalten
intCol = intCol + 1
arrTabelle(intCol, intRow) = feld
Next
RS.MoveNext
Next intRow
ListBox1.Column = arrTabelle    ' Listbox füllen
RS.MoveFirst                    ' sonst klappt weiter / zurueck nicht
ListBox1.Selected(0) = True
counter = "Datensatz: 1 von: " & RS.RecordCount
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige