9.7.8 Datensätze suchen
9.7.9 Die Seek-Methode zum Suchen in Table-Recordsets
Die Anwendung der Seek-Methode erfordert das Vorhandensein eines Index auf dem betroffenen Feld, dessen Name bekannt ist. Den Namen eines Index finden Sie im Dialog Indizes der jeweiligen Tabelle (siehe Abbildung 9.11). Sie können den Dialog über die Schaltfläche Indizes des Ribbons öffnen, während die betroffene Tabelle in der Entwurfsansicht angezeigt wird.

Abbildung 9.11: Ermitteln des Indexnamens
Die Suche per Seek sieht wie im folgenden Listing aus. Vor der Anwendung der Seek-Methode legen Sie mit der Index-Eigenschaft den Namen des Index fest. Die Seek-Methode selbst erwartet zwei Parameter: einen Vergleichsoperator (<, <=, =, =>, >) und den Vergleichswert. Nach dem Suchen prüft man mit der NoMatch-Eigenschaft, ob die Seek-Methode einen Datensatz gefunden hat. Die Seek-Methode verschiebt den Datensatzzeiger auf den gefundenen Datensatz, sodass dieser bequem ausgegeben werden kann. Beachten Sie, dass der Datensatzzeiger auf dem aktuellen Datensatz stehen bleibt, wenn die Seek-Methode keinen Datensatz gefunden hat - die Prüfung der NoMatch-Eigenschaft ist also unbedingt erforderlich, um auch tatsächlich den gesuchten Datensatz auszugeben.
Public Sub SucheMitSeek() ... Set rst = db.OpenRecordset("tblMitarbeiter", dbOpenTable) rst.Index = "idxNachname" rst.Seek "=", "Minhorst" If Not rst.NoMatch Then Debug.Print rst!Vorname & " " & rst!Nachname End If ... End Sub
Listing 9.34: Suche nach einem Datensatz mit der Seek-Methode
Nächster Abschnitt:
9.7.10 Die Find-Methoden zum Suchen in Dynaset- und Snapshot-Recordsets
|