[Access] Parameter-Suche mit Wildcards

Basti__1990

Admiral
Registriert
Dez. 2010
Beiträge
9.717
Hallo,

ich hab mal wieder eine kurze Frage, die sicherlich leicht beantwortet ist.
Ich will eine Paramenter-Abfrage erstellen und dabei erst bei der Eingabe entscheiden ob ich mit oder ohne Wildcards suche.
Bsp.: Erst such ich nach der PLZ 73547, und danach möchte mit der gleichen Abfrage nach allen PLZs die 345 enthalten suchen.

Scheinbar geht das aber nicht :(
Kann mir jemand vielleicht ein kleinen Tip geben wie ich trotzdem ans Ziel will.

Eigentlich will ich ja nur nach "73547", "7*" und "*345*" suchen können (nicht gleichzeitig), ohne dabei 3 verschiedene Abfragen zu basteln.

Danke für jede Antwort!

Gruß
Basti


PS: Es geht nicht darum das ich zu faul zum Abfragen erstellen bin, sondern das ich nachher 3 oder noch mehr verschiedene Suchfunktionen hätte. Eine wäre mir eben lieber.
 
versuchs mal im SQL in der WHERE Bedingung mit
Code:
Feldname LIKE "73547" OR (Feldname LIKE "7*" AND Feldname LIKE "*345*")
oder (je nach dem, wie man dein "und" verstehen kann):
Code:
Feldname LIKE "73547" OR Feldname LIKE "7*" OR Feldname LIKE "*345*"
oder wenn du dynamisch werte übergeben willst
Code:
Feldname LIKE "*"+[Feld oder Eingabebox]+"*"
oder mit folgenden kannst du dann auch mit dem wildcard * suchen:
Code:
Feldname LIKE ""+[Feldname oder Eingabebox]+""

weiss jetz aber nicht genau, ob es IS LIKE oder nur LIKE is...

Edit meint folgendes:
wenn du es natürlich im Zusammen-klick-modus machst, dann schreibste in die bedingungen folgendes (o.ä.)
Code:
Wie "73547" Oder (Wie "7*" Und Wie "*345*")
bzw
Code:
Wie "73547" Oder Wie "7*" Oder Wie "*345*"
 
Zuletzt bearbeitet:
die zahlen waren nur beispiele ;-)
ich will ja nicht statisch nach einr PLZ suchen.

Code:
WHERE Feldname LIKE "*"+[Geben sie eine PLZ ein]+"*"

funktioniert ABER dann sind die beiden Wildcards ja statisch.
Ich hab das SQL-Statemente vom erstellen lassen, jetzt da ich manuell auf "LIKE" umgestellt habe, geht genau das was ich will.
Die * sind auch nicht nötig, da ich die ja sowieso dynamisch eingeben will (oder eben nicht ;) ).
Danke bieneneber
Ergänzung ()

Ich würde gerne noch eine Art Super Suche bauen, also das zu jeder Tabellenspalte ein Suchparameter gefragt wird. Der Benutzer soll aber die Möglichkeit haben auch nur ein (oder eben nicht alle) Paramenter anzugeben und alle anderen Nachfragen mit Enter wegzudrücken.
Ich dachte mit dem LIKE "*"+[Parameter]+"*" geht das, tuts aber nicht :(

Hier mal meine gesamte WHERE Abfrage in voller Blüte
Code:
WHERE (((Gesamt.Abteilung) LIKE "*"+[Abteilung:]+"*") AND ((Gesamt.[KA-Nr]) LIKE "*"+[KostenArt]+"*") AND ((Gesamt.[HK-Konto]) LIKE "*"+[HK-Konto:]+"*") AND ((Gesamt.Quartal) LIKE "*"+[Quartal:]+"*") AND ((Gesamt.Jahr) LIKE "*"+[Jahr:]+"*"));

Gebe ich manuell die richtigen Werte ein oder eine Wildcard dann funktioniert die Suche. Ich möchte aber das ich bloß Enter drücken muss und nicht extra ein * eingeben muss. Kann mir da jemand helfen?
 
Zuletzt bearbeitet:
Zurück
Oben