Freigeben über


SearchForRecord-Makroaktion

Gilt für: Access 2013, Office 2013

Sie können die SuchenNachDatensatz-Aktion verwenden, um nach einem bestimmten Datensatz in einer Tabelle, einer Abfrage, einem Formular oder einem Bericht zu suchen.

Einstellung

Die SuchenNachDatensatz-Aktion verwendet die folgenden Argumente.

Aktionsargument

Beschreibung

Objekttyp

Geben Sie den Datenbankobjekttyp 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 Objekt ein, das den zu suchenden Datensatz enthält, oder wählen Sie es aus. In der Dropdownliste werden alle Datenbankobjekte angezeigt, die den durch das Argument Objekttyp ausgewählten Typ aufweisen.

Record

Geben Sie den Ausgangspunkt und die Richtung für die Suche an.

Einstellung

Beschreibung

Previous

Sucht vom aktuellen Datensatz ausgehend rückwärts.

Next

Sucht vom aktuellen Datensatz ausgehend vorwärts.

First

Sucht vom ersten Datensatz ausgehend vorwärts. Das ist der Standardwert für dieses Argument.

Last

Sucht vom letzten Datensatz ausgehend rückwärts.

Bedingung

Geben Sie die Kriterien für die Suche mit derselben Syntax wie eine SQL-WHERE-Klausel ein, allerdings ohne das Wort "WHERE". Beispiel:

'Description = "Beverages"'

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 Wert enthält, nach dem gesucht werden soll. Das folgende Kriterium durchsucht beispielsweise 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 des Textfeldverweises:

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

Hinweise

  • Falls mehrere Datensätze mit den Kriterien im Argument Bedingung übereinstimmen, legen die folgenden Einstellungen fest, welcher Datensatz gefunden wird:

    • Einstellung des Record-ArgumentsWeitere Informationen zum Record-Argument finden Sie in der Tabelle im Abschnitt Einstellungen.

    • Die Sortierreihenfolge der DatensätzeWenn das Argument Record z. B. auf First festgelegt ist, kann das Ändern der Sortierreihenfolge der Datensätze den gefundenen Datensatz ändern.

  • Das im Argument Objektname angegebene Argument muss vor dem Ausführen dieser Aktion geöffnet werden. Sonst treten Fehler auf.

  • Werden die Kriterien im Argument Bedingung nicht gefunden, tritt kein Fehler auf, und der Fokus verbleibt auf dem aktuellen Datensatz.

  • Bei der Suche nach dem vorherigen oder nächsten Datensatz findet kein "Umbruch" statt, wenn das Ende der Daten erreicht wird. Sind keine weiteren Datensätze vorhanden, die den Kriterien entsprechen, tritt kein Fehler auf, und der Fokus verbleibt auf dem aktuellen Datensatz. Wenn Sie bestätigen möchten, dass eine Übereinstimmung gefunden wurde, können Sie eine Bedingung für die nächste Aktion eingeben und festlegen, dass die Bedingung den im Argument Bedingung angegebenen Kriterien entspricht.

  • Verwenden Sie die SuchenNachDatensatz -Methode des DoCmd -Objekts, um die SuchenNachDatensatz -Aktion in einem VBA-Modul auszuführen.

  • Die SuchenNachDatensatz -Aktion ähnelt der SuchenDatensatz -Aktion, allerdings verfügt SuchenNachDatensatz über leistungsfähigere Suchfunktionen. Die SuchenDatensatz -Aktion wird hauptsächlich für die Suche nach Zeichenfolgen verwendet und dupliziert die Funktionen des Dialogfelds Suchen. Die Kriterien der SuchenNachDatensatz -Aktion entsprechen dagegen eher einem Filter oder einer SQL-Abfrage. Die folgende Liste bietet Verwendungsbeispiele für die SuchenNachDatensatz-Aktion:

    • Sie können komplexe Kriterien im Argument Bedingung verwenden, z. B.

      Description = "Beverages" and CategoryID = 11

    • Sie können auf Felder verweisen, die zwar in der Datensatzquelle eines Formulars oder Berichts angezeigt werden, nicht aber im Formular oder Bericht. Im vorherigen Beispiel müssen weder Description noch CategoryID im Formular oder Bericht angezeigt werden, damit die Kriterien funktionieren.

    • Sie können logische Operatoren verwenden, z. B. <, >, AND, OR und BETWEEN. Mit der SuchenDatensatz-Aktion werden nur Zeichenfolgen gefunden, die der gesuchten Zeichenfolge entsprechen, mit dieser beginnen oder sie enthalten.

Beispiel

The following macro first opens the Categories table by using the OpenTable action. The macro then uses the SearchForRecord action to find the first record in the table where the Description field equals "Beverages."

Aktion

Argumente

OpenTable

Tabellenname:Kategorienansicht: DatenblattDatenmodus: Bearbeiten

SearchForRecord

Objekttyp: TableObject Name: CategoriesRecord: FirstWhere Condition: Description = "Beverages"