Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Kriterien bei Auswahlabfrage richtig angeben





Frage

Hallo zusammen, ich habe eine Kontakt-DB, die bisher nur aus einer Tabelle mit ca. 200 Datensätzen und einem zugehörigen Eingabeformular besteht. Nun würde ich gerne eine Abfrage erstellen, bei der ich in einem Suchformular einen Begriff eingebe und die dann in den Spalten Firma und Nachname nach Übereinstimmungen sucht. Bei beiden Spalten sind Duplikate möglich, die dann alle angezeigt werden sollen. Welche Kriterien muß ich wo angeben, damit die Abfrage sich auf das Eingabefeld des Formulars bezieht und nur die passenden Datensätze liefert? Wenn ich ins Formular nichts eingebe, sollen alle Datensätze angezeigt werden. Ist das möglich, und wenn ja wie? Bitte möglichst genaue Beschreibung, bin nur User (kann also mit VBA oder SQL nichts anfangen). Danke schon im Voraus Doris

Antwort 1 von oliverV

Hallo Doris,

ich weis nicht genau wo dein Problem ist, ob es nur darum geht, wie du dich in einer Abfrage auf ein Formularfeld als Kriterium beziehst, oder ob es um die ganze Suchfunktion geht.
Möchtest du die Abfrage als Datenherkunft für ein neues Formular oder einen neuen Bericht nutzen, oder möchtest du die Datenherkunft eines geöffneten Formulars ändern, oder möchtest du Daten filtern.

Also in einer Abfrage beziehst du dich auf einen Formularfeldnamen indem du bei dem Abfragefeld „Firma“ in der Spalte Kriterien Formulare![Formularname]![Suchfeldname] eingibst.
Das Gleiche trägst du beim Feld „Nachname“ allerdings in die Spalte „oder“ ein.
Bei diesen Kriterien muß der komplette Feldinhalt mit Suchkriterium übereinstimmen, wenn du nach Teil-Feldinhalten suchen willst, ersetzte die Kriterien durch: Wie "*" & [Formulare]![Formularname]![Suchfeldname] & "*".
Ersetze [Formularname] und [Suchfeldname] durch deine verwendeten Formular- bzw. Feldnamen.


Wenn du ein Problem mit der gesamten Suchfunktion hast, würde ich dir zu einer Filterung der Datensätze raten.

Erstelle ein Auswertungsformular als Endlosformular mit den Feldern [Firma] und [Nachname] sowie evtl. anderer Felder die du benötigst. Als Auswertungsformular solltest du Sinnvollerweise die Feldeigenschaften „gesperrt“ auf „JA“ setzen um zu verhindern, das Daten versehentlich geändert werden.
Lasse dir unter Ansicht den Formularkopf/-fuß anzeigen.
Erstelle im Formularkopf ein neues ungebundenes Feld „Suche“.
Gehe nun im Datenbankfenster auf Makros und erstelle ein neues Makro.
Als Makroaktion wähle „AnwendenFilter“.
Trage nun im unteren Bereich bei Bedingung folgendes ein:
[Firma] Wie "*" & [Formulare]![Formularname]![Suche] & "*" Oder [Nachname] Wie "*" & [Formulare]![Formularname]![Suche] & "*"
Speicher das Makro.
Gehe nun wieder in das Auswertungsformular, gehe auf die Eigenschaften des Feldes [Suche], wähle das Register Ereignis, gehe zu dem Ereingis „Nach Aktualisierung“ klappe rechts das Feld auf und wähle hier das eben erstellte Makro aus.
Speicher das Formular – Fertig !

Du kannst wenn du möchtest im Formular auch eine Schaltfläche „Filtern“ erstellen und das Makro dem Ereignis „Beim Klicken“ zuordnen.


Ich hoffe ich habe dein Problem erkannt, wenn es irgendwo anders klemmt, schildere das Problem noch mal etwas genauer.


Gruß

oliver

Antwort 2 von Ronja

Hallo Oliver,

vielen Dank für deine Hilfe. Der erste Tip hat geklappt und liefert genau die gewünschten Ergebnisse, so dass ich das Makro gar nicht ausprobieren mußte. Trotzdem vielen Dank.

Doris