Datenzugriffsobjekte
Suchen in Recordsets
Wie kann ich in Recordset-Objekten nach Datensätzen suchen? Wie kann ich bei der Suche einen Index verwenden?
Beispiel für die Verwendung von Such-Methoden
Sub FindRecord()
Dim dbs As Database, rst As Recordset Dim dbs As Database, rst As Recordset
Dim strCriteria As String
' Return reference to current database.
Set dbs= CurrentDb
' Define search criteria.
strCriteria= "[ShipCountry] = 'UK' And " _
& "[OrderDate] >= #1-1-95#"
' Create a dynaset-type Recordset object based on Orders table.
Set rst= dbs.OpenRecordset("Orders", dbOpenDynaset)
' Find first matching record.
rst.FindFirst strCriteria
' Check if record is found.
If rst.NoMatch Then
MsgBox "No record found."
Else'
Find other matching records.
Do Until rst.NoMatch
Debug.Print rst!ShipCountry; " "; rst!OrderDate
rst.FindNext strCriteria
Loop
End If
rst.Close
Set dbs= Nothing
End SubIn Recordsets der Typen Dynaset, Snapshot und Dynamisch können die Find-Methoden zum Suchen nach Datensätzen verwendet werden. FindFirst sucht nach dem ersten Datensatz, der den Kriterien entspricht, FindLast nach dem letzten. Außerdem gibt es noch FindNext, um nach dem nächsten Datensatz und FindPrevious, um nach dem vorherigen Datensatz zu suchen. Die letzteren beiden Methoden gehen dabei von der aktuellen Position des Datensatzzeigers aus.
Diese Seite ist für Mitglieder von akademie.de reserviert.
Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?
Oder möchten Sie zunächst mehr über diesen Beitrag erfahren und die Leseproben sehen?
Ich bin bereits Mitglied