Datensatzanzahl in Recordset-Objekten (Access 97)
Veröffentlicht am 30.12.2003
Ermitteln der Datensatzanzahl in Recordset-Objekten.
Das Ermitteln der Datensatzanzahl in Recordset-Objekten mit Hilfe der RecordCount-Eigenschaft ist eine heikle Angelegenheit. Access füllt bestimmte Recordset-Objekte nämlich erst bei Bedarf. Solange kein vollständiger Zugriff auf alle Datensätze erfolgt ist, ermittelt die RecordCount-Eigenschaft die falsche Anzahl.
Mit Hilfe der AnzahlDatensätze-Funktion wird die Anzahl der Datensätze innerhalb einer Datensatzgruppe immer exakt ermittelt. Der Prozedur muss beim Start lediglich das betreffende Recordset-Objekt übergeben werden.
Function AnzahlDatensätze(R As Recordset) As Long
Dim Lesezeichen As String
'Bei Tabellen ist die Anzahl sofort richtig
If R.Type = dbOpenTable Then
AnzahlDatensätze = R.RecordCount
Else
If R.RecordCount = 0 Then
AnzahlDatensätze = 0
Else
Lesezeichen = R.Bookmark
R.MoveLast
AnzahlDatensätze = R.RecordCount
R.Bookmark = Lesezeichen
End If
End If
End Function
Ein weiterer Vorteil der Funktion besteht darin, dass der aktuelle Datensatzzeiger nicht verschoben wird.