Benutzer mit den meisten Antworten
ADO ADODB Schleife for each

Frage
-
Hallo Experten!
Gibt es für ein ADO-Recordset eine Möglichkeit, eine FOR EACH-Schleife über alle Datensätze zu bilden? Also:
Dim ARS as new ADODB.Recordset
Dim oMeineZeile as ObjectARS.Open "blablabla"
For Each oMeineZeile in ARS.<Datenmenge>
tu was
next oMeineZeileNatürlich würde es auch mit einer Zählschleife gehen, aber FOR EACH ist einfach schöner :-)
Danke für Tipps
Raimund Gryszik, Berlin
Antworten
-
Hallo!
IT-Designer schrieb:
Gibt es für ein ADO-Recordset eine Möglichkeit, eine FOR EACH-Schleife über alle Datensätze zu bilden? Also:
[...]
For Each oMeineZeile in ARS.<Datenmenge>
tu was next oMeineZeileFalls du
dim rec as ADODB.Record For Each rec in ARS.Records
suchst, hast du Pech. ;-)
Ich verwende zum Durchlaufen eines Recordsets eine do-loop-Schleife.
do while not ARS.EOF tu was ARS.MoveNext loop
mfg
Josef
Code-Bibliothek für Access-Entwickler
AccUnit - Testen von Access-Anwendungen- Als Antwort vorgeschlagen Jörn 'blackout' Bosse Mittwoch, 15. Dezember 2010 15:34
- Als Antwort markiert Peter DoeringMVP, Moderator Samstag, 18. Dezember 2010 22:51
-
hallo Raimund,
Nö, gibts nicht.
Was spricht gegen
Do While Not ARS.Eof ARS.MoveNext Loop
btw, benutze nicht New in der Deklaration, es funktioniert in VBA anderst als in VB
Public Sub TestDimNew() Dim rs As New ADODB.Recordset If Not rs Is Nothing Then MsgBox "Yeah, a recordset!" Set rs = Nothing If Not rs Is Nothing Then MsgBox "Damn, another recordset!" End Sub
Die zweite MsgBox sollte eigentlich nicht kommen, aber in VBA erzeugt das New in der Dim-Anweisung immer ein neue Instanz wenn keine (mehr) existiert.
Microsoft MVP Office Access
https://mvp.support.microsoft.com/profile/Stefan.Hoffmann- Als Antwort vorgeschlagen Jörn 'blackout' Bosse Mittwoch, 15. Dezember 2010 15:34
- Als Antwort markiert Peter DoeringMVP, Moderator Samstag, 18. Dezember 2010 22:51
Alle Antworten
-
Hallo!
IT-Designer schrieb:
Gibt es für ein ADO-Recordset eine Möglichkeit, eine FOR EACH-Schleife über alle Datensätze zu bilden? Also:
[...]
For Each oMeineZeile in ARS.<Datenmenge>
tu was next oMeineZeileFalls du
dim rec as ADODB.Record For Each rec in ARS.Records
suchst, hast du Pech. ;-)
Ich verwende zum Durchlaufen eines Recordsets eine do-loop-Schleife.
do while not ARS.EOF tu was ARS.MoveNext loop
mfg
Josef
Code-Bibliothek für Access-Entwickler
AccUnit - Testen von Access-Anwendungen- Als Antwort vorgeschlagen Jörn 'blackout' Bosse Mittwoch, 15. Dezember 2010 15:34
- Als Antwort markiert Peter DoeringMVP, Moderator Samstag, 18. Dezember 2010 22:51
-
hallo Raimund,
Nö, gibts nicht.
Was spricht gegen
Do While Not ARS.Eof ARS.MoveNext Loop
btw, benutze nicht New in der Deklaration, es funktioniert in VBA anderst als in VB
Public Sub TestDimNew() Dim rs As New ADODB.Recordset If Not rs Is Nothing Then MsgBox "Yeah, a recordset!" Set rs = Nothing If Not rs Is Nothing Then MsgBox "Damn, another recordset!" End Sub
Die zweite MsgBox sollte eigentlich nicht kommen, aber in VBA erzeugt das New in der Dim-Anweisung immer ein neue Instanz wenn keine (mehr) existiert.
Microsoft MVP Office Access
https://mvp.support.microsoft.com/profile/Stefan.Hoffmann- Als Antwort vorgeschlagen Jörn 'blackout' Bosse Mittwoch, 15. Dezember 2010 15:34
- Als Antwort markiert Peter DoeringMVP, Moderator Samstag, 18. Dezember 2010 22:51