Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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
Inhaltsverzeichnis

für Klaus M.

für Klaus M.
27.01.2020 10:58:11
Luschi
Hallo Klaus,
bei mir klappt das jetzt so per AdoDB:
- die Datensätze aus dem Recordset werden mit GetRows in das Array geschrieben
- dieses muß per Worksheetfunction.Transpose 2x gedreht werden!
- das klappt aber nur, wenn nur ein Datenfeld in der Select-Anweisung ausgewählt wird

Private Sub TextBox1_Change()
Dim vArr As Variant, vArr_1 As Variant, varr_2 As Variant
rsSQL = "Select lieferFirma From tblLieferanten Where " & _
"lieferFirma Like '%" & Me.TextBox1.Text & "%';"
rsObj.Open rsSQL, connObj, 2, 3
'DSe in Array kopieren
With rsObj
If Not .bof And Not .EOF Then
vArr = rsObj.GetRows()
With Me.ListBox1
.Clear
'klappt nur bei einem Datenfeld
.List = WorksheetFunction.Transpose(WorksheetFunction.Transpose(vArr))
End With
Else
MsgBox "Gibt es nicht!", 16 + vbMsgBoxSetForeground
End If
.Close
End With
End Sub
Gruß von Luschi
aus klein-Paris

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: für Klaus M.
27.01.2020 11:58:08
Klaus
Hallo Luschi,
vielen Dank - ich werde es erstmal nur speichern, aber bei Gelegenheit bestimmt ausprobieren!
LG,
Klaus M.
AW: für Klaus M.
27.01.2020 20:54:55
Luschi
Hallo Klaus,
die Lösungsvariante von Daniel hat folgenden Vorteil:
- es wird nur 1x das Recordset eingelesen mit alles Infos (Select * From …)
- dann das Recordset in 1 Array überführen
- das ganze AdoDB-Gedöns schließen und ins Nirvana schicken
- den Rest macht die Vba-Filter-Funktion, denn es kommt ja keine neue Info dazu
Nachteil beider Varianten:
- es kann nur eine einziges Access-Tabellen-/Abfragefeld so ausgewertet werden
Ich bin gerade dabei, mehrere Felder in das Listenfeld zu übergeben, um mehr Klarheit bei den Datensätzen zu bekommen. Aber dabei hilft nicht mehr Vba-Filter, denn das erwartet ein eindimensionales Array und eben auch meine Variante, denn das von 'GetRows' gelieferte Ergebnis kann man nicht mehr per 'Transpose' so drehen, bis es paßt.
Das bilden des Recordsets ist dabei nicht das Problem, sondern das Überführen in ein Array, daß dann per 'List' in die Listbox geschrieben werden kann - da helfen nur For-Schleifen!
Mal sehen, wie ich das zeitlich hinbekommen, mein C#-Projekt hat Vorrang.
Gruß von Luschi
aus klein-Paris
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige