Avatar billede msnilsson Nybegynder
26. september 2002 - 13:29 Der er 6 kommentarer og
1 løsning

Avanceret tekstsøgning i SQL/ASP

Jeg forsøger at lave en søgefunktion, der kan søge på flere ord i flere tabelfelter i samme tabel samtidig. Eksempelvis:
Brugeren søger på "Vanløse biler". Tabellen der søges i har fire felter, hvor der kan stå enten "Vanløse" eller "biler" eller begge dele i alle felter. Resultatet af søgningen skal være alle poster hvor begge ord findes, uanset hvilke af felterne de findes i. Jeg håber det var formuleret klart nok.

Løsningen må også gerne være fleksibel nok til at der kan søges på tre eller fire ord i alle felter. Opsplitningen af søgestrengen til flere ord er ikke noget problem.
Avatar billede terry Ekspert
26. september 2002 - 13:34 #1
Problem is that your "søgefunktion" is NOT intended for Access but for a WEB based application.
The resulting query MAY be the same but HOW the query is made is NOT! So I suggest that you move you rquestion to ASP you have a better chnace of getting an answer there.
Avatar billede cyb Nybegynder
26. september 2002 - 13:54 #2
Der skal nok lidt kode til da søgestrenegen skal genereres dynamisk, det bliver nok noget i stil af det her, men jeg er lidt rusten i mit ASP så tilgiv mig for små syntax fejl :-)
<%
searchStr = "Vanløse biler"
searchArr = SPLIT(replace(searchStr," ",","))
sqlStr = "SELECT * FROM [TABELNAVN] WHERE "
i = 0
while (i<searchArr.length)
if (i>0)
  sqlStr = sqlStr & " OR "
end if
sqlStr = sqlStr & "([FELT1] = '"& searchArr[i] &"' OR [FELT2] = '"& searchArr[i] &"' OR [FELT3] = '"& searchArr[i] &"' OR [FELT4] = '"& searchArr[i] &"')"
i = i +1
DO
%>
Avatar billede msnilsson Nybegynder
26. september 2002 - 14:02 #3
Det er rigti
Avatar billede cyb Nybegynder
26. september 2002 - 14:03 #4
Hmmm hvorfor afviste du mit svar msnilsson ?
Avatar billede terry Ekspert
26. september 2002 - 14:08 #5
http://www.eksperten.dk/spm/262766
msnilsson>Please take note or you will have admin after you !
Avatar billede msnilsson Nybegynder
26. september 2002 - 14:10 #6
Det er rigtigt at spørgsmålet handler om en søgefunktion på et website, så jeg har oprettet spørgsmålet under ASP. (Deværre havde jeg kunb 120 pt tilbage, som jeg har sat dér.

cyb: der må findes en smart måde hvor man kan undgå alle de "OR"-statements - hvad hvis der f.eks. er 5 ord i sætningen?
Avatar billede terry Ekspert
26. september 2002 - 14:14 #7
They are BOTH under Access!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester