SearchForRecord-Makroaktion
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.
| ||||||||||
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