Tuesday, November 22, 2022

SearchForRecord-Makroaktion - Microsoft Support

Sie können die Makroaktion SearchForRecord in Access-Desktopdatenbanken verwenden, um nach einem bestimmten Datensatz in einer Tabelle, einer Abfrage, einem Formular oder einem Bericht zu suchen.

Einstellung

Die Makroaktion SearchForRecord hat die folgenden Argumente.

Handlungsargument

Beschreibung

Objekttyp

Geben Sie den Typ des Datenbankobjekts ein, in dem Sie suchen, oder wählen Sie ihn aus. Sie können Tabelle , Abfrage , Formular oder Bericht auswählen.

Objektname

Geben Sie das spezifische Objekt ein, das den zu suchenden Datensatz enthält, oder wählen Sie es aus. Die Dropdown-Liste zeigt alle Datenbankobjekte des Typs, den Sie für das Argument Objekttyp ausgewählt haben.

Aufzeichnung

Geben Sie den Startpunkt und die Richtung der Suche an.

Einstellung

Beschreibung

Vorherige

Vom aktuellen Datensatz rückwärts suchen.

Nächste

Vom aktuellen Datensatz vorwärts suchen.

Zuerst

Suchen Sie vorwärts ab dem ersten Datensatz. Dies ist der Standardwert für dieses Argument.

Letzte

Vom letzten Datensatz rückwärts suchen.

Wo Zustand

Geben Sie die Kriterien für die Suche mit der gleichen Syntax wie eine SQL-WHERE-Klausel ein, nur ohne das Wort "WHERE". Zum Beispiel,

Beschreibung = "Getränke"

Um ein Kriterium zu erstellen, das einen Wert aus einem Textfeld in einem Formular enthält, müssen Sie einen Ausdruck erstellen, der den ersten Teil des Kriteriums mit dem Namen des Textfelds verkettet, das den zu suchenden Wert enthält. Beispielsweise durchsucht das folgende Kriterium das Feld „Beschreibung" nach dem Wert im Textfeld „txtDescription" im Formular „frmCategories". Beachten Sie das Gleichheitszeichen ( = ) am Anfang des Ausdrucks und die Verwendung von einfachen Anführungszeichen ( ' ) auf beiden Seiten der Textfeldreferenz:

="Description = '" & Formulare![frmCategories]![txtDescription] & "'"

Bemerkungen

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

    • Die Einstellung des Arguments „Datensatz" Weitere Informationen zum Argument „ Datensatz " finden Sie in der Tabelle im Abschnitt „Einstellungen".

    • Die Sortierreihenfolge der Datensätze Wenn das Argument Datensatz beispielsweise auf First gesetzt ist, kann eine Änderung der Sortierreihenfolge der Datensätze dazu führen, welcher Datensatz gefunden wird.

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

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

  • Bei der Suche nach dem vorherigen oder nächsten Datensatz wird die Suche nicht "umgebrochen", wenn sie das Ende der Daten erreicht. Wenn es keine weiteren Datensätze gibt, die den Kriterien entsprechen, tritt kein Fehler auf und der Fokus bleibt 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 Wo-Bedingung identisch machen.

  • Um die SearchForRecord- Aktion in einem VBA-Modul auszuführen, verwenden Sie die SearchForRecord- Methode des DoCmd- Objekts.

  • Die Makroaktion SearchForRecord ähnelt der Makroaktion FindRecord , aber SearchForRecord verfügt über leistungsfähigere Suchfunktionen. Die Makroaktion FindRecord wird hauptsächlich zum Suchen von Zeichenfolgen verwendet und dupliziert die Funktionalität des Dialogfelds Suchen . Die Makroaktion SearchForRecord verwendet Kriterien, die eher denen eines Filters oder einer SQL-Abfrage ähneln. Die folgende Liste zeigt einige Dinge, die Sie mit der SearchForRecord -Makroaktion tun können:

    • Sie können komplexe Kriterien im Where-Bedingungs- Argument verwenden, wie z

Description = "Getränke" und CategoryID = 11

  • Sie können auf Felder verweisen, die sich in der Datensatzquelle eines Formulars oder Berichts befinden, aber nicht im Formular oder Bericht angezeigt werden. Im vorangehenden Beispiel dürfen weder Description noch CategoryID auf dem Formular oder Bericht angezeigt werden, damit die Kriterien funktionieren.

  • Sie können logische Operatoren wie < , > , AND , OR und BETWEEN verwenden. Die FindRecord- Aktion findet nur Übereinstimmungen mit Zeichenfolgen, die der gesuchten Zeichenfolge entsprechen, damit beginnen oder diese enthalten.

Beispiel

Das folgende Makro öffnet zunächst die Tabelle Kategorien mithilfe der Aktion OpenTable . Das Makro verwendet dann die SearchForRecord -Makroaktion, um den ersten Datensatz in der Tabelle zu finden, bei dem das Beschreibungsfeld gleich "Getränke" ist.

Aktion

Argumente

Offener Tisch

Tabellenname : Kategorien

Ansicht : Datenblatt

Datenmodus : Bearbeiten

Suche nach Datensatz

Objekttyp : Tabelle

Objektname : Kategorien

Aufnahme : Zuerst

Wo Bedingung : Beschreibung = "Getränke"

No comments:

Post a Comment