DoCmd.SearchForRecord-Methode (Access)

Verwenden Sie die SearchForRecord-Methode , um in einer Tabelle, einer Abfrage, einem Formular oder einem Bericht nach einem bestimmten Datensatz zu suchen.

Syntax

Ausdruck verwendet werden. SearchForRecord (ObjectType, ObjectName, Record, WhereCondition)

expression Eine Variable, die ein DoCmd-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
ObjectType Optional AcDataObjectType Eine AcDataObjectType-Konstante , die den Typ des Datenbankobjekts angibt, in dem gesucht wird. Der Standardwert lautet acActiveDataObject.
ObjectName Optional Variant Der Name des Datenbankobjekts, das den zu suchenden Datensatz enthält.
Record Optional AcRecord Eine AcRecord-Konstante , die den Ausgangspunkt und die Richtung der Suche angibt. Der Standardwert lautet acFirst.
WhereCondition Optional Variant Eine Zeichenfolge, die zum Finden des Datensatzes gefunden wird. Es ist wie die WHERE-Klausel in einer SQL-Anweisung, aber ohne das Wort WHERE.

Hinweise

In Fällen, in denen mehr als ein Datensatz den Kriterien im Argument WhereCondition entspricht, bestimmen die folgenden Faktoren, welcher Datensatz gefunden wird:

  • Die Einstellung des Arguments "Datensatz ".

  • Die Sortierreihenfolge der Datensätze. Wenn das Argument Datensatz beispielsweise auf acFirst festgelegt ist, kann sich durch Ändern der Sortierreihenfolge der Datensätze der gefundene Datensatz ändern.

Das im Argument ObjectName angegebene Objekt muss geöffnet sein, bevor diese Aktion ausgeführt wird. Andernfalls, tritt ein Fehler auf.

Wenn die Kriterien im Argument WhereCondition nicht erfüllt sind, tritt kein Fehler auf, und der Fokus bleibt auf dem aktuellen Datensatz.

Beim Suchen nach dem vorherigen oder nächsten Datensatz wird die Suche nicht umbrochen, wenn sie das Ende der Daten erreicht. Falls keine weiteren Datensätze vorhanden sind, die mit den Kriterien übereinstimmen, tritt kein Fehler auf und der Fokus verbleibt auf dem aktuellen Datensatz. Um zu bestätigen, dass eine Übereinstimmung gefunden wurde, können Sie eine Bedingung für die nächste Aktion eingeben und die Bedingung mit den Kriterien im Argument WhereCondition identisch machen.

Die SearchForRecord-Methode ähnelt der FindRecord-Methode , doch verfügt SearchForRecord über leistungsfähigere Suchfeatures. Die FindRecord -Methode wird hauptsächlich zum Suchen von Zeichenfolgen verwendet, und sie verdoppelt die Funktionalität des Dialogfelds Suchen. Die SearchForRecord -Methode verwendet Kriterien, die stärker jenen eines Filters oder einer SQL-Abfrage ähneln.

Die folgende Liste veranschaulicht einige Dinge, die Sie mit der SearchForRecord-Methode tun können:

  • Verwenden Sie komplexe Kriterien im Argument WhereCondition , z. B Description = "Beverages" and CategoryID = 11. . .

  • Verweisen auf Felder, die sich in der Datensatzquelle eines Formulars oder Berichts befinden, aber nicht im Formular oder Bericht angezeigt werden. Im vorherigen Beispiel müssen die DescriptionCategoryID Kriterien weder im Formular noch im Bericht angezeigt werden, damit sie funktionieren.

  • Verwenden Sie logische Operatoren wie <, >, UND, ODER und ZWISCHEN. Die FindRecord-Methode entspricht Zeichenfolgen, die mit der Zeichenfolge übereinstimmen, beginnen oder diese enthalten.

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.