Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Access 2010 - Listenfeld an ADO-Recordset knüpfen

Frage Entwicklung Datenbanken

Mitglied: AndyAh

AndyAh (Level 2) - Jetzt verbinden

31.01.2014, aktualisiert 11:54 Uhr, 2699 Aufrufe, 9 Kommentare

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.
Mitglied: colinardo
31.01.2014, aktualisiert um 12:07 Uhr
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:
01.
Set rs = CurrentDb.OpenRecordset("Tabelle") 
02.
rs.MoveFirst 
03.
While Not rs.EOF 
04.
   Liste1.AddItem rs.Fields("Spalte").Value 
05.
   rs.MoveNext 
06.
Wend
Grüße Uwe
Bitte warten ..
Mitglied: AndyAh
31.01.2014, aktualisiert um 12:31 Uhr
Hi Uwe,

ich möchte die Userverwaltung des SQL-Servers nutzen. Beim Durchlauf des Recordsets ergab sich der Fehler:6014

Hie mal das ganze Listing:

01.
Private Sub Form_Load() 
02.
 
03.
   Dim connstr As String 
04.
   Dim sql As String 
05.
   Dim conn As New ADODB.Connection 
06.
   Dim rs As New ADODB.Recordset 
07.
 
08.
   'user und passwort kommen aus einem Anmeldefenster 
09.
   connstr = "DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=127.0.0.1;DATABASE=adressen;" & "USER=" & user & ";" & "PASSWORD=" & passwort & "; OPTION=3" 
10.
    
11.
   conn.ConnectionString = connstr 
12.
    
13.
   On Error GoTo LogonError 
14.
     
15.
   conn.Open 
16.
 
17.
   On Error Resume Next 
18.
 
19.
   
20.
   sql = "SELECT Nachname FROM mitglied" 
21.
   rs.Open sql, conn, adOpenDynamic, adLockOptimistic 
22.
   rs.MoveFirst 
23.
    
24.
   Fehlercode: 6026 
25.
   'Set Me!mitglieder.Recordset = rs 
26.
 
27.
  Fehlercode: 3265 
28.
   While Not rs.EOF() 
29.
     mitglieder.AddItem rs!Fields("Nachname").Value 
30.
     rs.MoveNext 
31.
   Wend 
32.
    
33.
   rs.Close 
34.
   conn.Close 
35.
 
36.
LogonError: 
37.
    If Err.Number <> 0 Then 
38.
        MsgBox "Fehler beim Login zur Datenbank: " & Err.Number 
39.
    End If 
40.
End Sub
Gruß
Andy
Bitte warten ..
Mitglied: colinardo
31.01.2014 um 12:27 Uhr
Das kommt vermutlich daher weil ein ADODB.Recordset nicht das selbe ist wie ein DAO.Recordset welches das Listenfeld erwartet. Du müsstest also mit deinem Recordset des SQL-Servers ein DAO-Recordset füllen und das dem Listenfeld zuweisen.

Grüße Uwe
Bitte warten ..
Mitglied: colinardo
31.01.2014 um 13:00 Uhr
Zitat von AndyAh:
Hie mal das ganze Listing:
01.
Private Sub Form_Load() 
02.
 
03.
   Dim connstr As String 
04.
   Dim sql As String 
05.
   Dim conn As New ADODB.Connection 
06.
   Dim rs As New ADODB.Recordset 
07.
 
08.
   'user und passwort kommen aus einem Anmeldefenster 
09.
   connstr = "DRIVER={MySQL ODBC 5.2 ANSI Driver};SERVER=127.0.0.1;DATABASE=adressen;" & "USER=" & user & ";" & "PASSWORD=" & passwort & "; OPTION=3" 
10.
    
11.
   conn.ConnectionString = connstr 
12.
    
13.
   On Error GoTo LogonError 
14.
     
15.
   conn.Open 
16.
 
17.
   On Error Resume Next 
18.
 
19.
   sql = "SELECT Nachname FROM mitglied" 
20.
   rs.Open sql, conn, adOpenDynamic, adLockOptimistic 
21.
   rs.MoveFirst 
22.
    
23.
   ' Listbox leeren bevor die Mitglieder hinzugefügt werden. 
24.
   For i = 0 To mitglieder.ListCount - 1 
25.
        mitglieder.RemoveItem 0 
26.
   Next 
27.
   While Not rs.EOF 
28.
     mitglieder.AddItem rs!Nachname 
29.
     rs.MoveNext 
30.
   Wend 
31.
    
32.
   rs.Close 
33.
   conn.Close 
34.
 
35.
LogonError: 
36.
    If Err.Number <> 0 Then 
37.
        MsgBox "Fehler beim Login zur Datenbank: " & Err.Number 
38.
    End If 
39.
End Sub
Bitte warten ..
Mitglied: AndyAh
31.01.2014 um 13:00 Uhr
Hi Uwe,

wie müsste dann die DAO Datenbank-Connection bzw der Connectionstring für MySQL ODBC 5.2 ANSI Treiber heissen?

Gruß
Andy
Bitte warten ..
Mitglied: colinardo
31.01.2014 um 13:04 Uhr
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.
Bitte warten ..
Mitglied: AndyAh
31.01.2014 um 13:15 Uhr
Hi,

und was ist mit dem Fehler in:

01.
  Fehlercode: 3265  
02.
   While Not rs.EOF()  
03.
     mitglieder.AddItem rs!Fields("Nachname").Value  
04.
     rs.MoveNext  
05.
   Wend 
In der Schleifte sollte alles richtig sein, trotzdem bekomme ich die Fehlermeldung.

Gruß
Andy
Bitte warten ..
Mitglied: colinardo
31.01.2014, aktualisiert um 13:25 Uhr
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:
rs!Fields("Nachname").Value
nicht und auch die beiden Klammern hinter EOF sind Quatsch, da es eine Eigenschaft ist und keine Funktion.
machs innerhalb der Schleife entweder so:
01.
mitglieder.AddItem rs!Nachname
oder so:
01.
mitglieder.AddItem rs.Fields("Nachname").Value
beachte den Punkt anstatt dem Ausrufezeichen hinter rs.
Bitte warten ..
Mitglied: AndyAh
31.01.2014 um 13:24 Uhr
Hi,

dein letzter Vorschlag hat es gebracht. Danke.

Gruß
Andy
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Datenbanken
gelöst Syntaxfehler VBA Access 2010 (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Datenbanken
gelöst Access 2010 Abfrage erster Werktag (10)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Datenbanken
gelöst Access 2010 komplizierte Abfrage (3)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Datenbanken
gelöst Hilfe bei "Distinct" Befehl in Access 2010 (3)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...