Söka flera fält på samma gång?

Databaser & SQL

4 svar · 210 visningar · startad av His Divine Shadow

Medlem sedan sep. 20004 079 inlägg
Trådstart#1

Just nu har jag en sökmaskin där man kan söka igenom specifika fält efter vissa ord eller delar av ord, men hur kan man göra så att man kan välja alla fält i en sökning?

Just nu ser det ut såhär:

SQL = "SELECT * FROM Kat WHERE " & Field & " LIKE '"& Replace(Searchstring,"*","%") &"' ORDER BY " & sort & " " & direction & ""
Medlem sedan dec. 20003 563 inlägg
#2
SQL = "SELECT * FROM Kat WHERE " & _
Field & " LIKE '"& Replace(Searchstring,"*","%") &"' OR " & _
Field2 & " LIKE '"& Replace(Searchstring,"*","%") &"' OR " & _
Field3 & " LIKE '"& Replace(Searchstring,"*","%") &"'  " & _
"ORDER BY " & sort & " " & direction & ""
Medlem sedan dec. 200012 464 inlägg
#3

Det kan aldrig vara meningsfullt att söka i alla kolumner.

Du väljer vilka kolumner som det är relevant att söka. Sedan så får du bygga in dom i sökfrågan.

s = "'" & replace(replace(searchstring,"'","''"),"*","%") & "'" 
sql = "SELECT * FROM Kat " & _
"WHERE " & column1 & " LIKE " & s & _ 
" or " & column2 & " like " & s & _
" ORDER BY " & sort & " " & direction

Eventuellt så kan du låta användaren välja.

Medlem sedan sep. 20004 079 inlägg
#4

Det är meningen att användaren ska kunna välja att söka alla kolumner om han så vill.

Medlem sedan juni 200032 967 inlägg
#5

Då får du speca 'alla' kolumner enligt ovan.

256 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)