Access 2010 - Listenfeld an ADO-Recordset knüpfen
Hi NG,
wie kann ich ein Listenfeld an ein ADO-Recordset knüpfen. Die zugrundeliegende Datenquelle ist keine mit Access verknüpfte ODBC Datenquelle.
Gruß
Andy
PS: Ich habe es gerade mit "Listenfeld.Recordset = rs" versucht und bekomme den Fehlercode 3265
Da Auslesen eines einzelnen Feldes per Recordset funktioniert.
wie kann ich ein Listenfeld an ein ADO-Recordset knüpfen. Die zugrundeliegende Datenquelle ist keine mit Access verknüpfte ODBC Datenquelle.
Gruß
Andy
PS: Ich habe es gerade mit "Listenfeld.Recordset = rs" versucht und bekomme den Fehlercode 3265
Da Auslesen eines einzelnen Feldes per Recordset funktioniert.
Please also mark the comments that contributed to the solution of the article
Content-Key: 228268
Url: https://administrator.de/contentid/228268
Printed on: May 4, 2024 at 09:05 o'clock
9 Comments
Latest comment
Hallo Andy,
warum erstellst du keine Datenverknüpfung zu deiner ODBC-Quelle Tab: Externe Daten > Importieren und Verknüpfen > ODBC-Datenbank.
Damit lässt sich eine Tabelle in deiner Datebank einrichten welche mit dieser Datenquelle synchron ist, und welche dann als Quelle für den Inhalt deines Listenfeldes dienen kann.
Ansonsten durchlaufe alle Zeilen eines Recordsets und erstelle für jede Zeile einen Listeneintrag...nach dieser Art und Weise:
Grüße Uwe
warum erstellst du keine Datenverknüpfung zu deiner ODBC-Quelle Tab: Externe Daten > Importieren und Verknüpfen > ODBC-Datenbank.
Damit lässt sich eine Tabelle in deiner Datebank einrichten welche mit dieser Datenquelle synchron ist, und welche dann als Quelle für den Inhalt deines Listenfeldes dienen kann.
Ansonsten durchlaufe alle Zeilen eines Recordsets und erstelle für jede Zeile einen Listeneintrag...nach dieser Art und Weise:
Set rs = CurrentDb.OpenRecordset("Tabelle")
rs.MoveFirst
While Not rs.EOF
Liste1.AddItem rs.Fields("Spalte").Value
rs.MoveNext
Wend
Grüße Uwe
Private Sub Form_Load()
Dim connstr As String
Dim sql As String
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
'user und passwort kommen aus einem Anmeldefenster
connstr = "DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=127.0.0.1;DATABASE=adressen;" & "USER=" & user & ";" & "PASSWORD=" & passwort & "; OPTION=3"
conn.ConnectionString = connstr
On Error GoTo LogonError
conn.Open
On Error Resume Next
sql = "SELECT Nachname FROM mitglied"
rs.Open sql, conn, adOpenDynamic, adLockOptimistic
rs.MoveFirst
' Listbox leeren bevor die Mitglieder hinzugefügt werden.
For i = 0 To mitglieder.ListCount - 1
mitglieder.RemoveItem 0
Next
While Not rs.EOF
mitglieder.AddItem rs!Nachname
rs.MoveNext
Wend
rs.Close
conn.Close
LogonError:
If Err.Number <> 0 Then
MsgBox "Fehler beim Login zur Datenbank: " & Err.Number
End If
End Sub
Zitat von @AndyAh:
wie müsste dann die DAO Datenbank-Connection bzw der Connectionstring für MySQL ODBC 5.2 ANSI Treiber heissen?
das geht IMHO nicht.wie müsste dann die DAO Datenbank-Connection bzw der Connectionstring für MySQL ODBC 5.2 ANSI Treiber heissen?
Zitat von @AndyAh:
In der Schleifte sollte alles richtig sein, trotzdem bekomme ich die Fehlermeldung.
hatte ich oben doch oben bereits im Code korrigiert. Bei mir läuft dein obiges Konstrukt:In der Schleifte sollte alles richtig sein, trotzdem bekomme ich die Fehlermeldung.
rs!Fields("Nachname").Value
machs innerhalb der Schleife entweder so:
mitglieder.AddItem rs!Nachname
mitglieder.AddItem rs.Fields("Nachname").Value