Es gibt nun mal fast nie nur eine Lösung für eine
Problemstellung und so ist das natürlich auch bei der Programmierung, meist gibt es dann
immer noch Möglichkeiten, die sich für eine bestimmte Aufgabenstellung an Hand der
Schnelligkeit oder der Performance gegenüber anderen Lösungen auszeichnen.
So geht es hier um die Aufgabenstellung, alle Datensätze einer Tabelle einzulesen.
Vielleicht realisieren Sie dies bisher in einer Schleife über die EOF Eigenschaft (End of
File). MyRecordset.MoveFirst
'zum
ersten Datensatz gehen
Do Until MyRecordset.EOF
'Do-Loop
Schleife (solange nicht EOF)
variable = MyRecordset!Feldname 'übergeben
.
.
'weitere
Anweisungen
.
MyRecordset.MoveNext
'nächster
Datensatz
Loop
'Wiederholen
Dagegen ist erstmal nichts einzuwenden, da Sie Ihr Ziel
damit erreichen.
Dies hat aber einen Performance Nachteil, da bei jedem Schleifendurchlauf
auf EOF geprüft wird.
Besser ist in diesem Fall die Vorgehensweise über das Ermitteln der enthaltenen
Datensätze.
MyRecordset.MoveLast
'zum
letzten Datensatz gehen
Anzahl_RS = MyRecordset.RecordCount 'ermitteln der Anzahl an Datensätzen
MyRecordset.MoveFirst
'zum
ersten Datensatz gehen
for i =1 to Anzahl_RS
'For-Next
Schleife (solange bis
'
i = Anzahl der Datensätze)
variable = MyRecordset!Feldname
'übergeben
.
.
'weitere
Anweisungen
.
MyRecordset.MoveNext
'nächster
Datensatz
Next i
Neben der Performance haben Sie hier auch gleich einen
auswertbaren Zähler,
der häufig benötigt wird. |