{"id":55000059,"date":"2002-04-01T00:00:00","date_gmt":"2021-02-10T20:07:19","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=59"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Suchen_und_schnell_finden","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/","title":{"rendered":"Suchen und schnell finden"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/552bcaaf51014661b332600483625840\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Autor: Klaus Giesen, Wuppertal<\/p>\n<p><\/b><\/p>\n<p><b>Wer suchet, der findet &#8211; hei&szlig;t es so sch&ouml;n. Bezogen auf Access bedeutet dies, dass Sie als Anwender in der Lage sein sollten, rasch und komfortabel die gew&uuml;nschten Datens&auml;tze in einem Formular zu finden. Falls Sie dabei allein auf die eingebauten Suchm&ouml;glichkeiten von Access angewiesen sind, schaut es mit Komfort und erweiterten Suchoptionen &#8211; wie beispielsweise die Verkn&uuml;pfungen mehrerer Felder mit Und bzw. Oder &#8211; ziemlich tr&uuml;be aus. Auch wenn Sie lediglich zu einem ganz bestimmten Datensatz &#8211; beispielsweise einem bestimmten Nachnamen &#8211; springen wollen, ist das ohne eine selbst gebaute Funktionalit&auml;t nicht ohne Weiteres m&ouml;glich.<\/b><\/p>\n<p>In diesem Beitrag werden drei verschiedene Methoden zum Suchen von Datens&auml;tzen vorgestellt. Die ersten beiden (per Kombinations- bzw. per Listenfeld) sind zwar einerseits relativ simpel gehalten, andererseits aber gerade deshalb vorz&uuml;glich dazu geeignet, schnell den gew&uuml;nschten Datensatz &#8211; beispielsweise &uuml;ber den Nachnamen &#8211; auszuw&auml;hlen.<\/p>\n<p><IMG height=\"324\" src=\"..\/fileadmin\/_temp_\/{524E671C-D6AC-45A6-BE32-F83DF008A073}\/pic001.png\" width=\"430\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Das Formular frmKontakte 1 zur Suche per Kombinationsfeld<\/span><\/b><\/p>\n<p>Die dritte Methode ist eine Suche per QbF (engl. Query by Form). Damit ist eine felder&uuml;bergreifende Suche nach beliebigen Kriterien inklusive Und- bzw. Oder-Verkn&uuml;pfung m&ouml;glich. Die Beispieldatenbank demonstriert die Suche mittels einer einfachen Kontaktverwaltung. Sie liegt in Versionen f&uuml;r Access 97 (RecordsFind97.mdb) und Access 2000 (RecordsFind2000.mdb)  auf der beiliegenden CD vor.<\/p>\n<p>Das folgende Beispiel finden Sie im Formular FrmKontakte 1 der Beispieldatenbank.<\/p>\n<p><b>Bedienung der Suche<\/b><\/p>\n<p>Zur Suche nach einem Datensatz klappen Sie lediglich das Kombinationsfeld auf und markieren den gew&uuml;nschten Namen (siehe Bild 1).<\/p>\n<p>Alternativ dazu k&ouml;nnen Sie auch den ersten Buchstaben des gesuchten Namens eintippen. Daf&uuml;r ist die Kombinationsfeldeigenschaft Automatisch erg&auml;nzen verantwortlich, die in diesem Fall auf Ja eingestellt ist. <\/p>\n<p><IMG height=\"324\" src=\"..\/fileadmin\/_temp_\/{524E671C-D6AC-45A6-BE32-F83DF008A073}\/pic002.png\" width=\"430\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Das Formular frmKontakte 2 zur Suche per Listenfeld<\/span><\/b><\/p>\n<pre>Private Sub CboSuchen_AfterUpdate()\r\n    DoCmd.GoToControl \"Nachname\"\r\n    DoCmd.FindRecord CboSuchen, acEntire, False, _        acSearchAll, False, , True\r\nEnd Sub<\/pre>\n<p><b>Quellcode 1<\/b><\/p>\n<pre>Private Sub BtnWeitersuchen_Click()\r\n    DoCmd.GoToControl \"Nachname\"\r\n    If Not IsNull(CboSuchen) Then\r\n        DoCmd.FindNext\r\n    End If\r\nEnd Sub<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<p>Falls mehrere identische Nachnamen vorhanden sind, klicken Sie auf die Schaltfl&auml;che Weitersuchen, um zum gew&uuml;nschten Namen zu gelangen.<\/p>\n<p><b>Funktionalit&auml;t der Suche<\/b><\/p>\n<p>Die Funktionalit&auml;t der Kombinationsfeldsuche liegt zun&auml;chst einmal in der zugrunde liegenden Abfrage qryCboSuchen begr&uuml;ndet. Diese ist als Datensatzherkunft des Kombinationsfeldes eingetragen.<\/p>\n<p>In der Abfrage ist die Funktion Gruppierung aktiviert. Diese bewirkt, dass im Kombinationsfeld auch mehrfach vorhandene Namen nur einmal angezeigt werden.<\/p>\n<p>Durch das Ereignis Nach Aktualisierung des Kombinationsfeldes wird die Ereignisprozedur Cbo_Suchen AfterUpdate() ausgef&uuml;hrt (s. Quellcode 1).<\/p>\n<p>Zuerst wird auf das Feld Nachname positioniert. Danach wird mit der Find-Methode der im Kombinationsfeld ausgew&auml;hlte Nachname gesucht.<\/p>\n<p>&auml;hnlich einfach ist die Ereignisprozedur BtnWeitersuchen_Click() aufgebaut (s. Quellcode 2). Diese wird beim Klick auf die Schaltfl&auml;che Weitersuchen ausgef&uuml;hrt.<\/p>\n<p>Falls der Wert des Kombinationsfelds nicht Null ist, wird mit der FindNext-Methode der n&auml;chste Datensatz gesucht, der die Kriterien der eben ausgef&uuml;hrten Find-Methode erf&uuml;llt.<\/p>\n<p>Die Suche nach Datens&auml;tzen per Listenfeld l&auml;uft &auml;hnlich wie die Suche mittels Kombinationsfeld ab.<\/p>\n<p>Das passende Beispiel finden Sie in der Beispieldatenbank unter dem Namen FrmKontakte 2.<\/p>\n<p><b>Bedienung derSuche<\/b><\/p>\n<p>Klicken Sie im Listenfeld Namen suchen einfach auf den gesuchten Namen oder tippen Sie stattdessen den Anfangsbuchstaben ein (siehe Bild 2). In beiden F&auml;llen wird der passende Datensatz auch im Formular angezeigt.<\/p>\n<p><IMG height=\"255\" src=\"..\/fileadmin\/_temp_\/{524E671C-D6AC-45A6-BE32-F83DF008A073}\/pic003.png\" width=\"430\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Das Eigenschaftsfenster des Listenfelds LstSuchen<\/span><\/b><\/p>\n<p><b>Funktionalit&auml;t der Suche<\/b><\/p>\n<p>Das Listenfeld funktioniert wie folgt: Beim Klicken in das Listenfeld wird die Ereignisprozedur LstSuchen_Click() ausgef&uuml;hrt. <\/p>\n<p>Diese springt im Formular FrmKontakte 2 zum Feld KontakteID. Auch hier wird die Methode Find benutzt, die sich zur Suche die KontakteID aus der erste Spalte des Listenfeldes holt.<\/p>\n<p>Durch die Ausl&ouml;sung des Ereignisses Nach Aktualisierung des Listenfelds wird die Ereignisprozedur LstSuchen_Click() aufgerufen und anschlie&szlig;end der Fokus auf das Listenfeld gesetzt.<\/p>\n<p>Wichtig ist hierbei, dass im Eigenschaftsfenster des Listenfelds der Eintrag [Ereignisprozedur] f&uuml;r das Beim Klicken-Ereignis nicht vorhanden sein darf (siehe Bild 3).<\/p>\n<p>Anderenfalls w&uuml;rde immer das Feld KontakteID des Formulars den Fokus besitzen und es w&auml;re nicht m&ouml;glich, den gesuchten Namen durch Eingabe eines Buchstabens im Listenfeld auszuw&auml;hlen.<\/p>\n<p>Damit haben Sie nun zwei einfache und schnelle Methoden kennen gelernt, nach Datens&auml;tzen zu suchen.<\/p>\n<p>Nat&uuml;rlich d&uuml;rfen auch die Nachteile dieser L&ouml;sung nicht verschwiegen werden:<\/p>\n<li>Das Suchfeld ist fest vorgegeben.<\/li>\n<li>Die Verwendung von Vergleichsoperatoren wie beispielsweise Gr&ouml;&szlig;er als oder Zwischen ist nicht m&ouml;glich.<\/li>\n<li>Es ist nicht m&ouml;glich, mehrere Suchfelder miteinander zu kombinieren.<\/li>\n<p><!--30percent--><\/p>\n<p>Die Realisierung derartiger Suchm&ouml;glichkeiten zeigt Ihnen das folgende Beispiel.<\/p>\n<p>Die Bezeichnung Query by Form kann mit &#8222;formularbasierter&#8220; oder &#8222;formulargest&uuml;tzter&#8220; Suche &uuml;bersetzt werden. Der Sinn einer solchen Suchmethode ist, den Anwender bei der Bildung komplexer Suchkriterien durch eine einfache Benutzeroberfl&auml;che zu unterst&uuml;tzen.<\/p>\n<p>Die Auswahl der Suchfelder und Suchkriterien soll f&uuml;r jedermann intuitiv und ohne gr&ouml;&szlig;ere Vorkenntnisse m&ouml;glich sein. <\/p>\n<p>Eine weitere Anforderung an ein solches Suchformular ist, dass es flexibel verwendbar sein sollte. In der Praxis ergeben sich daraus zwei Forderungen:<\/p>\n<li>Das QbF sollte innerhalb einer Anwendung ohne gro&szlig;en &auml;nderungsaufwand f&uuml;r unterschiedliche Formulare verwendbar sein.<\/li>\n<li>Die gleiche Forderung gilt nat&uuml;rlich auch f&uuml;r die Verwendung des QbF in unterschiedlichen Datenbanken.<\/li>\n<p><b>Grunds&auml;tzliche Funktionsweise von Query by Form<\/b><\/p>\n<p>Zum besseren Verst&auml;ndnis zun&auml;chst die grunds&auml;tzliche Funktionsweise dieser QbF-L&ouml;sung:<\/p>\n<p><IMG height=\"198\" src=\"..\/fileadmin\/_temp_\/{524E671C-D6AC-45A6-BE32-F83DF008A073}\/pic004.png\" width=\"430\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Das Formular FrmQbF<\/span><\/b><\/p>\n<p>Das Formular ist ein ungebundenes Formular (siehe Bild 4). Seinem Einsatzzweck entsprechend ist die Eigenschaft Rahmenart auf den Wert Dialog eingestellt.<\/p>\n<p>Im linken Kombinationsfeld Feldname werden die Suchfelder angezeigt, die im Entwurf der Abfrage qryFeldliste nach Bedarf zusammengestellt werden k&ouml;nnen.<\/p>\n<h3>Hinweis<\/h3>\n<p>Durch die Auswahl der Felder in der Abfrage haben Sie die M&ouml;glichkeit, die Suche auf bestimmte Felder zu beschr&auml;nken. <\/p>\n<p>Im Kombinationsfeld Vergleichslogik w&auml;hlen Sie die gew&uuml;nschte Vergleichslogik f&uuml;r Ihre Suche aus.<\/p>\n<p>Die von Access her bekannten Vergleichsoperatoren sind bei dieser L&ouml;sung in unsere normale Sprache &#8222;&uuml;bersetzt&#8220; worden, um den Anwendern die Bedienung zu erleichtern. Anstelle des Zeichens &lt; kann der Anwender beispielsweise die Worte ist kleiner als ausw&auml;hlen.<\/p>\n<p>Im dritten Kombinationsfeld Suchbegriff kann eingeben werden, wonach gesucht werden soll. Bei Bedarf wird ein weiteres Feld Suchbegriff angezeigt, damit auch Sucheingaben wie beispielsweise Zwischen 20 000 und 70 000 m&ouml;glich sind.<\/p>\n<p>Insgesamt kann das ausgew&auml;hlte Suchfeld mit vier weiteren Feldern &uuml;ber Und bzw. Oder verkn&uuml;pft werden. Dies erfolgt durch Anklicken der entsprechenden Option auf der linken Seite des Formulars.<\/p>\n<p>Anschlie&szlig;end wird aus all diesen Eingaben ein SQL-String zusammengesetzt, der als Filter auf das aufrufende Formular gesetzt wird.<\/p>\n<p>Diese gesamte Funktionalit&auml;t befindet sich im Modul From_FrmQbF der Beispieldatenbanken.<\/p>\n<p>Wichtige Einzelheiten dieser Funktionalit&auml;t werden in den folgenden Abschnitten n&auml;her beschrieben.<\/p>\n<p><b>Aufruf des Suchformulars<\/b><\/p>\n<p>Das Suchformular wird mit einem Klick auf die Schaltfl&auml;che QbF im Formular FrmKontakte 3 ge&ouml;ffnet (siehe Bild 5).<\/p>\n<p><IMG height=\"315\" src=\"..\/fileadmin\/_temp_\/{524E671C-D6AC-45A6-BE32-F83DF008A073}\/pic005.png\" width=\"315\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Das Formular FrmKontakte 3<\/span><\/b><\/p>\n<p>In der Ereignisprozedur BtnQbF_Click(), die durch diesen Klick aufgerufen wird, wird zun&auml;chst die globale Variable CallingForm mit dem Namen des aufrufenden Formulars gef&uuml;llt.<\/p>\n<pre>CallingForm = _    Screen.ActiveForm.Name<\/pre>\n<p>Im weiteren Codeablauf wird nur noch mit dieser Variablen gearbeitet. Es wird also beispielsweise anstatt des Ausdrucks<\/p>\n<p>Forms!FrmKontakte.Visible _= False<\/p>\n<p>der folgende Ausdruck benutzt:<\/p>\n<p>Forms(CallingForm).Visible = False <\/p>\n<p>Dadurch kann der Code ohne Anpassung von jedem beliebigen Formular aus aufgerufen werden.<\/p>\n<p><IMG height=\"258\" src=\"..\/fileadmin\/_temp_\/{524E671C-D6AC-45A6-BE32-F83DF008A073}\/pic006.png\" width=\"315\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Das Eigenschaftsfenster des Kombinationsfeldes<\/span><\/b><\/p>\n<p><b>Auswahl der Suchfelder<\/b><\/p>\n<p><IMG height=\"207\" src=\"..\/fileadmin\/_temp_\/{524E671C-D6AC-45A6-BE32-F83DF008A073}\/pic007.png\" width=\"430\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Werteliste f&uuml;r die Auswahl der Vergleichslogik<\/span><\/b><\/p>\n<pre>Select Case CallingForm\r\n    Case \"frmXYZ\"\r\n        Me!Feld0.RowSource = \"qryFeldlisteXYZ\"\r\n        Me!Feld1.RowSource = \"qryFeldlisteXYZ\"\r\n        Me!Feld2.RowSource = \"qryFeldlisteXYZ\"\r\n        Me!Feld3.RowSource = \"qryFeldlisteXYZ\"\r\n        Me!Feld4.RowSource = \"qryFeldlisteXYZ\"\r\n        Me.Caption = \"  Suche ...\"\r\n    Case \"frmABC\"\r\n        ....\r\nEnd Select<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<p>Die Suchfelder werden mit den Kombinationsfeldern Feld0 bis Feld4 des QbF ausgesucht. Die Datensatzherkunft oder RowSource-Eigenschaft ist eine Abfrage, die die gew&uuml;nschten Suchfelder liefert. Da die Eigenschaft Herkunftstyp des Listenfeldes auf Feldliste eingestellt ist (siehe Bild 6), zeigt dieses nicht die Datens&auml;tze, sondern eine Liste der Felder an.<\/p>\n<p>Auch die Festlegung dieser Datenherkunft kann wieder ganz einfach flexibel gehalten werden. Dazu bedarf es lediglich in der Beim Laden-Eigenschaft des Formulars einer SelectCase-Anweisung, die in Abh&auml;ngigkeit vom aufrufenden Formular die entsprechende RowSource-Eigenschaft f&uuml;r die Suchfelder festlegt (s. Quellcode 3).<\/p>\n<p><b>Auswahl der Vergleichslogik<\/b><\/p>\n<p>Die Auswahl der Vergleichslogik wird in den Kombinationsfeldern Kriterium0 bis Kriterium4 vorgenommen.<\/p>\n<p>Die Datenherkunft ist hier eine Werteliste, in der gleichzeitig die &#8222;&uuml;bersetzung&#8220; der Vergleichsoperatoren vorgenommen wird (siehe Bild 7).<\/p>\n<p>Das Kombinationsfeld hat drei Spalten, von denen nur die zweite Spalte angezeigt wird. Die gebundene Spalte, deren Wert weiterverarbeitet wird, ist die Spalte 3. F&uuml;r den Operator = beispielsweise sieht das wie folgt aus:<\/p>\n<pre>1;\"ist gleich\";\"=\";<\/pre>\n<p>Bei den Vergleichsoperatoren Zwischen bzw. Nicht zwischen (Between bzw. Not Between) wird nach Aktualisierung des Kombinationsfeldes mit der Methode MoveSize das Formular FrmQbF vergr&ouml;&szlig;ert und ein zweites Eingabefeld f&uuml;r den Suchbegriff sichtbar geschaltet (s. Quellcode 4).<\/p>\n<p><IMG height=\"183\" src=\"..\/fileadmin\/_temp_\/{524E671C-D6AC-45A6-BE32-F83DF008A073}\/pic008.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Das QbF mit zwei Feldern f&uuml;r Suchbegriffe<\/span><\/b><\/p>\n<pre>Case \"between\", \"not between\"\r\n    DoCmd.MoveSize 150, 2000, 11726, 4300\r\n    txtUnd0.Visible = True\r\n    AddUserInput0.Visible = True\r\n    DoCmd.GoToControl \"UserInput0\"<\/pre>\n<p><b>Quellcode 4<\/b><\/p>\n<pre>If IsNull(Feld0) And IsNull(Feld1) And IsNull(Feld2) _    And IsNull(Feld3) And IsNull(Feld4) Then\r\n    void = MsgBox(\"Sie haben keine Felder ausgew&auml;hlt.\" _        & \"Wollen Sie das Suchformular schlie&szlig;en\", _        4 + 32, AppName)\r\n    If void = 6 Then\r\n        DoCmd.Close A_FORM, \"frmQbF\"\r\n        Forms(CallingForm).Visible = True\r\n        Exit Sub\r\n    ElseIf void = 7 Then\r\n        DoCmd.GoToControl \"Feld0\"\r\n        Exit Sub\r\n    End If\r\nEnd If<\/pre>\n<p><b>Quellcode 5<\/b><\/p>\n<p>Damit sind wir schon bei den Eingabefeldern UserInput0 bis UserInput4 bzw. AddUserInput0-4 angelangt. Diese ungebundenen Textfelder werden als Eingabefelder f&uuml;r die Suchbegriffe lediglich ausgewertet und verf&uuml;gen &uuml;ber keinerlei sonstige Funktionalit&auml;t.<\/p>\n<p>Die Suche wird nach Festlegung bzw. Eingabe aller notwendigen Parameter mit einem Klick auf die Schaltfl&auml;che Suchen gestartet. <\/p>\n<h3>Hinweis<\/h3>\n<p>Der vollst&auml;ndige VBA-Code der Suche kann hier aus Platzgr&uuml;nden nur auszugsweise wiedergegeben werden. Sie finden ihn in der Ereignisprozedur ButtonSearch_Click() im Modul Form_FrmQbF der Beispieldatenbank. <\/p>\n<p><b>Plausibilit&auml;tspr&uuml;fung<\/b><\/p>\n<p>Nach der Deklaration aller notwendigen Variablen wird zun&auml;chst einmal &uuml;berpr&uuml;ft, ob der Anwender Suchfelder ausgew&auml;hlt hat (s. Quellcode 5).<\/p>\n<p><b>Vorbelegung der SQL-Anweisung<\/b><\/p>\n<p>Anschlie&szlig;end wird ein SQL-Statement mit der Datenquelle des aufrufenden Formulars vorbelegt. An dieser Stelle ist es wiederum m&ouml;glich, mithilfe einer SelectCase-Anweisung in Abh&auml;ngigkeit vom aufrufenden Formular in unterschiedlichen Formularen einer Datenbank zu suchen.<\/p>\n<pre>For I = 0 To 4\r\n    DoCmd.GoToControl \"Feld\" & I\r\n    Set FirstControl = Screen.ActiveControl\r\n    DoCmd.GoToControl \"Kriterium\" & I\r\n    Set SecondControl = Screen.ActiveControl\r\n    DoCmd.GoToControl \"UserInput\" & I\r\n    Set ThirdControl = Screen.ActiveControl\r\n    If SecondControl = \"Between\" Or SecondControl = _        \"NOT Between\" Then\r\n        DoCmd.GoToControl \"AddUserInput\" & I\r\n        Set FourthControl = Screen.ActiveControl<\/pre>\n<p><b>Quellcode 6<\/b><\/p>\n<pre>If I &gt; 0 Then\r\n    If ExtraControl = 0 Then\r\n        SQLState = SQLState & \" AND \"\r\n    Else\r\n        SQLState = SQLState & \" OR \"\r\n    End If\r\nEnd If<\/pre>\n<p><b>Quellcode 7<\/b><\/p>\n<pre>Select Case SecondControl\r\n    Case \"=\", \"&lt;&gt;\", \"&gt;\", \"&gt;=\", \"&lt;\", \"&lt;=\"\r\n        SQLState = SQLState & _            Forms(CallingForm).RecordSource & \".[\" _\r\n            & FirstControl & \"]\" & SecondControl & _            Chr(39) & ThirdControl & Chr(39)<\/pre>\n<p><b>Quellcode 8<\/b><\/p>\n<h3>Hinweis<\/h3>\n<p>Ein Beispiel daf&uuml;r finden Sie kommentiert am Anfang der Ereignisprozedur ButtonSearch_Click(). <\/p>\n<p><b>Auswertung der Benutzereingaben<\/b><\/p>\n<p>Auch die Auswertung der Benutzereingaben kann hier nur in Ausschnitten dargestellt werden. <\/p>\n<p>Im Prinzip werden alle Felder des QbF nacheinander durchlaufen und die in ihnen vorhandenen Werte werden in verschiedenen Variablen zwischengespeichert (s. Quellcode 7).<\/p>\n<p>Nat&uuml;rlich darf dabei auch nicht die &uuml;berpr&uuml;fung auf eine Und- bzw. Oder-Verkn&uuml;pfung der Suchfelder fehlen (s. Quellcode 7).<\/p>\n<p><b>Zusammenstellungder SQL-Anweisung<\/b><\/p>\n<p>Die SQL-Anweisung wird dabei, also noch innerhalb der &auml;u&szlig;eren Schleife, st&auml;ndig um die gefundenen Werte erg&auml;nzt (s. Quellcode 8).<\/p>\n<p><b>Abschluss der Suche<\/b><\/p>\n<p>Der Abschluss der Suche ist wieder recht &uuml;bersichtlich. Das QbF wird geschlossen, das aufrufende Formular wird wieder sichtbar und erh&auml;lt den Fokus (siehe Bild 8). Durch die Codezeile<\/p>\n<pre>DoCmd.ApplyFilter SQLState<\/pre>\n<p>wird die aus den Suchbedingungen zusammengestellte SQL-Anweisung als Filter auf das Formular gesetzt. Nach einem Klick auf die Schaltfl&auml;che Alle Datens&auml;tze wird der Formularfilter wieder entfernt.<\/p>\n<p><IMG height=\"0\" src=\"..\/fileadmin\/_temp_\/{524E671C-D6AC-45A6-BE32-F83DF008A073}\/pic009.png\" width=\"0\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9:  Suchergebnis im Formular <\/span><\/b><\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>WordIndex00.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/C0AB3B8B-C13F-4E6F-98D2-75F6E0DEA76E\/aiu_59.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Suche nach Datens&auml;tzen ist eine der Hauptaufgaben einer Access-Datenbankanwendung. Access ist hierbei spezialisiert auf die Suche nach einzelnen Feldinhalten. Nicht so effektiv funktioniert die Suche nach einzelnen W&ouml;rtern oder Textstellen innerhalb eines Dokuments. Dieser Artikel zeigt Ihnen, wie Sie auch hier eine optimale Performance erzielen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022002,662002,44000036,44000023],"tags":[],"class_list":["post-55000059","post","type-post","status-publish","format-standard","hentry","category-66022002","category-662002","category-Daten_suchen_sortieren_gruppieren","category-Mit_Formularen_arbeiten"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Suchen und schnell finden - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Suchen und schnell finden\" \/>\n<meta property=\"og:description\" content=\"Die Suche nach Datens&auml;tzen ist eine der Hauptaufgaben einer Access-Datenbankanwendung. Access ist hierbei spezialisiert auf die Suche nach einzelnen Feldinhalten. Nicht so effektiv funktioniert die Suche nach einzelnen W&ouml;rtern oder Textstellen innerhalb eines Dokuments. Dieser Artikel zeigt Ihnen, wie Sie auch hier eine optimale Performance erzielen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-10T20:07:19+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg08.met.vgwort.de\/na\/552bcaaf51014661b332600483625840\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"10\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Suchen und schnell finden\",\"datePublished\":\"2021-02-10T20:07:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/\"},\"wordCount\":1828,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/552bcaaf51014661b332600483625840\",\"articleSection\":[\"2\\\/2002\",\"2002\",\"Daten suchen, sortieren, gruppieren\",\"Mit Formularen arbeiten\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/\",\"name\":\"Suchen und schnell finden - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/552bcaaf51014661b332600483625840\",\"datePublished\":\"2021-02-10T20:07:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/552bcaaf51014661b332600483625840\",\"contentUrl\":\"http:\\\/\\\/vg08.met.vgwort.de\\\/na\\\/552bcaaf51014661b332600483625840\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Suchen_und_schnell_finden\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Suchen und schnell finden\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Suchen und schnell finden - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/","og_locale":"de_DE","og_type":"article","og_title":"Suchen und schnell finden","og_description":"Die Suche nach Datens&auml;tzen ist eine der Hauptaufgaben einer Access-Datenbankanwendung. Access ist hierbei spezialisiert auf die Suche nach einzelnen Feldinhalten. Nicht so effektiv funktioniert die Suche nach einzelnen W&ouml;rtern oder Textstellen innerhalb eines Dokuments. Dieser Artikel zeigt Ihnen, wie Sie auch hier eine optimale Performance erzielen.","og_url":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/","og_site_name":"Access im Unternehmen","article_published_time":"2021-02-10T20:07:19+00:00","og_image":[{"url":"http:\/\/vg08.met.vgwort.de\/na\/552bcaaf51014661b332600483625840","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"10\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Suchen und schnell finden","datePublished":"2021-02-10T20:07:19+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/"},"wordCount":1828,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/552bcaaf51014661b332600483625840","articleSection":["2\/2002","2002","Daten suchen, sortieren, gruppieren","Mit Formularen arbeiten"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/","url":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/","name":"Suchen und schnell finden - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/#primaryimage"},"thumbnailUrl":"http:\/\/vg08.met.vgwort.de\/na\/552bcaaf51014661b332600483625840","datePublished":"2021-02-10T20:07:19+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/#primaryimage","url":"http:\/\/vg08.met.vgwort.de\/na\/552bcaaf51014661b332600483625840","contentUrl":"http:\/\/vg08.met.vgwort.de\/na\/552bcaaf51014661b332600483625840"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Suchen_und_schnell_finden\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Suchen und schnell finden"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000059","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000059"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000059\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000059"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}