VBA für Access

Von: akademie.de Redaktion
Stand: 18. März 2008
2.75
(4)
Anmelden um Kommentare zu schreiben

Downloads zu diesem Beitrag

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 Sub

In 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
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein