# Access Datenbank durchsuchen



## Pete121 (12. Apr 2011)

Moin, 
ich habe ein Java Programm, damit greife ich auf eine Access Datenbank zu, lese Daten aus, schreibe Daten rein. Klappt auch alles wunderbar. 
Nun möchte ich noch eine Suchfunktion, womit ich bestimmte Tabellen nach bestimmten Suchbegriffen durchsuchen kann. Ich hab bisher durch Googlen noch keinen vernüpftigen Ansatz gefunden, auch hier im Forum hab ich nichts finden können. Ich hoffe mir kann hier weiter geholfen werden.


----------



## XHelp (12. Apr 2011)

```
SELECT * FROM eineTabelle WHERE spalteInDerGesuchtWerdenSoll LIKE '%suchwert%'
```
 ?


----------



## Pete121 (12. Apr 2011)

Das Ding ist, dann werden doch nur nach den genauen Namen durchsucht. Es kann in meiner Tabelle durchaus sein das dort ähnliche Namen auftreten. Um konkret zu werden, es sind Filmnamen.
Wenn ich nun nach "Stirb Langsam" suche, sollen Stirb Langsam 1, Stirb Langsam 2 usw. auftauchen (natürlich nur wenn in DB vorhanden).
Ich hab da mal irgendwas von regulären Ausdrücken davon aufgeschnappt?


----------



## SlaterB (12. Apr 2011)

hast du das ausprobiert?
hast du irgendwelche SQL-Kenntnisse, so dass du den Unterschied zwischen [c]name = 'Lebe schnell'[/c] und [c]name LIKE '%Lebe schnell%'[/c] verstehst?
genau dein Beispiel könnte mit dem LIKE-Vergleich noch funktionieren, allgemein sind reguläre Ausdrücke aber nicht das richtige für SQL in Datenbanken

in jedem Fall ist das hochgradig nichts speziell auf Access bezogenes, zu Access brauchst du nur die JDBC-Anbindung um SQL einsetzen zu können + evtl. bisschen Wissen welche Tabellen du ansprechen kannst,
alles weitere ist allgemeines SQL-Thema


----------



## r.w. (12. Apr 2011)

Hi Pete121,

bei mySQL gibt es für solche Zwecke die SOUNDEX()-Funktion.
Für MSAccess findet man per Google-Suche einige Implementationen
in VBA usw. Vielleicht findest Du unter dem Begriff ja etwas brauchbares.
Ansonsten ... bei mySQL klappt das ganz gut. ;-)

VG ROlf


----------



## Pete121 (26. Apr 2011)

Naja MySQL bringt mir hier leider nichts, da ich laut meinen Vorgaben mit Access arbeiten soll.
Das mit den LIKE funktioniert leider nicht so wie ich es mir Vorstelle. Ich hab zum Testen mal 
Stirb Langsam 1 bis Stirb Langsam 4 in die Datenbank eingetragen. Wenn ich dann als Suchbegriff, 
"Stirb Langsam 1" angebe, gibt er den Datensatz brav aus. Aber wenn ich nur "Stirb Langsam" angebe, sollte er eigendlich
"Stirb Langsam 1" 
"Stirb Langsam 2"
"Stirb Langsam 3"
"Stirb Langsam 4"
ausgeben. Allerdings bekomme ich dann eine leere Ausgabe...
Geht es wohl also doch nicht ganz so leicht? Hatte jemand schon einmal das gleiche Problem?


----------



## maki (26. Apr 2011)

> Hatte jemand schon einmal das gleiche Problem?


Du meinst, dass Leute die Doku nicht lesen und trotzdem Frameworks/APIs nutzen wollen?
Klar, ständig. Die gute Nachricht: Doku lesen hilft, zB. die Doku zum SQL Select mit einem LIKE.

"Stirb Langsam%"


----------



## Pete121 (26. Apr 2011)

maki hat gesagt.:


> Du meinst, dass Leute die Doku nicht lesen und trotzdem Frameworks/APIs nutzen wollen?
> Klar, ständig. Die gute Nachricht: Doku lesen hilft, zB. die Doku zum SQL Select mit einem LIKE.
> 
> "Stirb Langsam%"



Oh jetzt klappt es. Ich muss gestehen ich Blick da nicht wirklich durch die Doku durch, ich weiß, dass ist keine Entschuldigung. Ich sollt mir das wirklich mal angewöhnen, Anstatt hier immer andere zu Belästigen, nur wenn ich mal nicht weiter komme


----------



## maki (26. Apr 2011)

"Belästigen" ist er falsche Begriff, aber ein bisschen Eingeninitiative schadet nie 

Davon abgesehen, hat man viel mehr von wenn man einerseits lernt richtig zu suchen und anderseits weiss, wie man Doku zu lesen hat.


----------

