Access: Such-Funktion?

Hallo,

ich möchte gern, dass der User einen Suchbegriff eingibt und Access dann alle Datensätze aus der Tabelle zieht, wo dieser Suchbegriff steht!
Also im grunde wie eine Abfrage, nur soll der User vorher das „Kriterium“ eingeben können!

So sieht meine Abfrage aus:
SELECT [CD].[Geräusch], [CD].[Track], [CD].[CD Nr], [Artikel].[CD Name]
FROM Artikel LEFT JOIN CD ON [Artikel].[CD Nr]=[CD].[CD Nr]
WHERE [CD].[Geräusch]=„Klingel“;

So funktoniert es super: hier sucht er mir jetzt alle Geräusche „Klingel“ raus!
Aber wie kann nun der User dieses Wort vorher eingeben?

DANKE schon mal
de.Rike

Hallo.

SELECT [CD].[Geräusch], [CD].[Track], [CD].[CD Nr],
[Artikel].[CD Name]
FROM Artikel LEFT JOIN CD ON [Artikel].[CD Nr]=[CD].[CD Nr]
WHERE [CD].[Geräusch]=„Klingel“;

Aber wie kann nun der User dieses Wort vorher eingeben?

Für die Hausfrau funktioniert die Abfrage mit einer Änderung in der WHERE-Klausel à la „WHERE [CD].[Geräusch]=hubahubu;“, dergestalt, dass der Parameter hubahubu beim Aufruf der Abfrage in einer simplen Input- Box abgeholt wird.

Erste Erweiterung : Wenn Du nicht auf Gleichheit, sondern Ähnlichkeit abfragst, kannst Du mit „WHERE [CD].[Geräusch] LIKE hubahubu;“ auch bleistiftsweise „Klingel“, „Klüngel“ und „Klöngel“ abfragen. In die Input- Box muss der Benutzer dann eben Kl*ngel eintragen. Klausebengel würde aber auch ausgegeben.

Die zweite Erweiterung wäre dann über die Eingabe des Parameters in ein Formular zu realisieren. Die WHERE- Klausel enthält dann einen Parameter à la „WHERE [CD].[Geräusch] LIKE Forms!formularname.hubahubu;“.

Am einfachsten, falls Du keine weiteren Ansprüche an Deine Suchabfrage hast : Erzeuge auf Deine Tabelle [CD] ein AutoForm und in diesem AutoForm eine Befehlssschaltfläche, die Du über den Assistenten mit „Suchen“ belegst …

Gruß kw

Aber wie kann nun der User dieses Wort vorher eingeben?

Hallo Rike

Mach ein Formular mit Textfeld in dem der User seinen
Suchbegriff eingibt. Nach dem „Enter“, eine Aufruf
„Nach Aktualisierung“ und nun ein kleines Programm.
BSP: Das Textfeld in das der User eingibt heißt Suche
die Ausgabe soll in einem Listenfeld, dessen Name Liste
ist erfolgen.

Private Sub Suche_AfterUpdate()
Liste.RowSource = „SELECT [CD].[Geräusch], [CD].[Track], [CD].[CD Nr], [Artikel].[CD Name] FROM Artikel LEFT JOIN CD ON [Artikel].[CD Nr]=[CD].[CD Nr] WHERE (([CD].[Geräusch]) Like [Suche] & ‚*‘);“
End Sub

In dieser SELECT-Abfrage wird als Kriterium das Suchfeld
plus ein Stern (Wildcard) übertragen. Vorteil, es reicht
wenn man den Anfangsbuchstaben eingibt.

Ich hoffe das hilft

Gruß Franz

Hallo,
danke schon mal für die Antworten!!!
Habe einiges ausprobiert!

Jetzt noch eine Frage (ICH = Access DUMMY),
besteht die Möglichkeit, das ich ein Formluar nehme,
wo der User das Geräusch eingibt und dann nach klicken einer Schaltfläche sich die „Abfrage“ Tabelle öffnet und
die Ergebnisse anzeigt?

Also das durch diesen Klick das „eingegebene Geräusch“ an die Abfrage gegeben wird!?

Oh ich hoffe man kann verstehen was ich meine!!
Ich finde es halt für den User übersichtlicher,
wenn die Ergebnisse in einer Tabelle angezeigt werden.

DANKE
De.Rike

besteht die Möglichkeit, das ich ein Formluar nehme,
wo der User das Geräusch eingibt und dann nach klicken einer
Schaltfläche sich die „Abfrage“ Tabelle öffnet und
die Ergebnisse anzeigt?

Hallo Rike

Klar!!

Lege die Abfrage an und trage in der Spalte „Geräusch“ das Suchkriterium:
Wie [FORMLULARE]![Name des Formulars]![Name des Suchfeldes] & '*'
ein und speichere sie ab. Wenn du die Abfrage mit einer Befehlsschaltfläche öffnest
(Programm siehe unten - Ereignis Beim Klicken) dürfte dein Problem gelöst sein.

Private Sub Befehl01_Click()
DoCmd.OpenQuery „Name der Abfrage“, acViewNormal
End Sub

Gruß Franz