Hallo!
> der Datenbankzugriff erfolgt �ber ODBC. Nur wie un weshalb soll LIKE
> entfernt geben oder anders gesagt, welche Alternateive gibt es?
Hm, zun�chst einmal w�rde ich pr�fen, ob nicht mit OLEDB zugegriffen
werden kann, also z. B. mit
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;" & _
"User Id=...;" & _
"Data Source=" & Server.MapPath("....mdb")
Das kann dann sowohl in der Entwicklungsumgebung als auch beim Provider
verwendet werden. Der Umweg �ber DSN und ODBC bringt ganz sicher mehr
Nachteile als Vorteile.
Falls es eine ODBC-Verbindung sein muss, solltest Du die "%" durch "*"
und "_" durch "?" ersetzen, also die "alten" Platzhalterzeichen
verwenden. Noch besser ist es, wenn Du die Abfrage �ber eine Procedure
mit Parametern aufrufst (keine Probleme mit unterschiedlichen
MDAC-Versionen/Treibern). Zur Not kannst Du den SQL-String gezielt
zusammensetzen:
sqlSelect = "select Region, Stadt, ... from "
if strRegion > "" then sqlWhere = sqlWhere & "and (Region like
'*" & strRegion & "*') "
if strStadt > "" then sqlWhere = sqlWhere & "and (Stadt like
'*" & strStadt & "*') "
if strTaetigkeit > "" then sqlWhere = sqlWhere & "and (Taetigkeit like
'*" & strTaetigkeit & "*') "
sqlWhere = mid(sqlWhere, 5) ' das erste "and " muss weg!
sql = sqlSelect & "angebote where " & sqlWhere & " union " & _
sqlSelect & "erweitert where " & sqlWhere
Bei gro�en Datenmengen ist so eine Suche f�r die Datenbank aber recht
aufwendig. Es ist f�r einen "Normalanwender" auch nicht besonders
komfortabel, wenn er so viele Felder ausf�llen kann/soll. Durch das
"LIKE" macht die Datenbank hier insgesamt 6 komplette Tablescans, was
ganz sch�n dauern und nicht durch einen Index beschleunigt werden kann.
W�re es nicht sch�ner, die Regionen und St�dte, �ber Select-Boxen
auszuw�hlen? Meines Erachtens geh�ren mindestens die Regionen und St�dte
in separate Tabellen, die dann nur noch referenziert werden. Anstatt
einer Sucheingabe ist eine Auswahl aus den tats�chlich vorhandenen
Regionen und St�dten auf jeden Fall viel benutzungsfreundlicher.
Freundliche Gr��e
Joachim van de Bruck
| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp