Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
508to512
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
508to512
508to512
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige