Avatar billede cyberbase Nybegynder
26. august 2000 - 14:03 Der er 3 kommentarer og
1 løsning

Flerfeltssøgning!

Min Asp spiser flere af mine søgeresultater jo flere stql-strings jeg sætter på i koden, uden at der i en søgning defineres flere søgeord end 1. F.eks. hvis søger jeg på navnet hansen får jeg 150 resulateter, mens hvis jeg i koden har indsætter en AND linie mere på, får jeg kun ca. 140 resulater:

strSQL = \"SELECT * FROM Tabel WHERE\"
strSQL = strSQL & \" ((Efternavn LIKE \'%\" & strKeyword & \"%\')\"
strSQL = strSQL & \" OR (Fornavne LIKE \'%\" & strKeyword & \"%\')\"
strSQL = strSQL & \" OR (Fødselsdato LIKE \'%\" & strKeyword & \"%\')\"
strSQL = strSQL & \" OR (Fødested LIKE \'%\" & strKeyword & \"%\')\"
strSQL = strSQL & \" OR (Gadevej LIKE \'%\" & strKeyword & \"%\')\"
strSQL = strSQL & \" OR (Gadevejnummer LIKE \'%\" & strKeyword & \"%\')\"
strSQL = strSQL & \" OR (Stilling LIKE \'%\" & strKeyword & \"%\')\"
strSQL = strSQL & \" OR (Statusihusstand LIKE \'%\" & strKeyword & \"%\')\"
strSQL = strSQL & \" OR (Tidligerebosættelse LIKE \'%\" & strKeyword & \"%\'))\"
strSQL = strSQL & \" AND (Efternavn LIKE \'%\" & strKeyword1 & \"%\')\"
strSQL = strSQL & \" AND (Fornavne LIKE \'%\" & strKeyword2 & \"%\')\"
strSQL = strSQL & \" AND (Fødselsdato LIKE \'%\" & strKeyword3 & \"%\')\"
strSQL = strSQL & \" AND (Fødested LIKE \'%\" & strKeyword4 & \"%\')\"
strSQL = strSQL & \" AND (Gadevej LIKE \'%\" & strKeyword5 & \"%\')\"
strSQL = strSQL & \" AND (Gadevejnummer LIKE \'%\" & strKeyword6 & \"%\')\"
strSQL = strSQL & \" AND (Stilling LIKE \'%\" & strKeyword7 & \"%\')\"
strSQL = strSQL & \" AND (Statusihusstand LIKE \'%\" & strKeyword8 & \"%\')\"
strSQL = strSQL & \" AND (Tidligerebosættelse LIKE \'%\" & strKeyword9 & \"%\')\"
Avatar billede cyberbase Nybegynder
26. august 2000 - 16:20 #1
Jeg tror måske, at det skyldes at basen også søger på tomme felter
Avatar billede styrmand Nybegynder
27. august 2000 - 22:11 #2
Normalt medførere OR a man får samme resultat eller flereposter, hvorimod AND medfører samme antal eller mindre.
Så det er ikke underligt hvis du får færre svar når du bruger AND.
Avatar billede nettet Nybegynder
29. august 2000 - 08:41 #3
Prøv evt. med nogle IF then sætninger, f.eks.
If ...strKeyword > 0 then
strSQL = strSQL & \" AND (Efternavn LIKE \'%\" & strKeyword1 & \"%\')\"

end if
Avatar billede nettet Nybegynder
29. august 2000 - 08:45 #4
Prøv evt. med nogle IF then sætninger, f.eks.
If ...strKeyword > 0 then
strSQL = strSQL & \" AND (Efternavn LIKE \'%\" & strKeyword1 & \"%\')\"

end if
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

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