Avatar billede kurt Nybegynder
22. oktober 2002 - 13:13 Der er 2 kommentarer og
1 løsning

Søgning på flere ord

Hej allesammen

Jeg bruger flg. kode til at søge i vores telefon-database:
----------------------------------------------
strKeyword = Trim(Request.Form("Keyword"))
If Len(strKeyword) = 0 Then
    ' Hvis der ikke er skrevet i feltet
    Response.Clear
    Response.Redirect("soeg.htm")
Else
    ' Hvis der er skrevet i feltet
    strKeyword = Replace(strKeyword,"'","''")
End If

' Opbygger en dynamisk SQL streng
strSQL = "SELECT ID, Navn, Adresse, Bynavn, Beskrivelse FROM Kunder WHERE"
strSQL = strSQL & " (Navn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Adresse LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Bynavn LIKE '%" & strKeyword & "%')"
strSQL = strSQL & " OR (Beskrivelse LIKE '%" & strKeyword & "%')"

[Tlf-arbejde], tlf.[Lokal-nr], tlf.[Tlf-Privat] FROM tlf WHERE tlf.Fortroligt)=False ORDER BY tlf.Afdeling"
Sql = "Select tlf.* FROM tlf WHERE (Fortroligt=False AND "
Sql = Sql & " (Fornavn LIKE '%" & strKeyword & "%')"
Sql = Sql & " OR (Efternavn LIKE '%" & strKeyword & "%')"
Sql = Sql & " OR (adresse LIKE '%" & strKeyword & "%')"
Sql = Sql & " OR (postnr LIKE '%" & strKeyword & "%')"
Sql = Sql & " OR (by LIKE '%" & strKeyword & "%')"
Sql = Sql & " OR ([Lokal-nr] LIKE '%" & strKeyword & "%'))"
Sql = Sql & " ORDER BY tlf.FORNAVN"

set MyConn = Server.CreateObject("ADODB.Connection")
MyConn.Open "tavlen"
----------------------------------------

Hvordan kan jeg få den til at virke når jeg søger på hele navnet?
I øjeblikket virker den kun hvis jeg søger på f.eks. Poul ELLER Hansen, men ikke på Poul Hansen

Mvh. Kurt
Avatar billede nozio Nybegynder
22. oktober 2002 - 14:08 #1
Du kan slå 2 felter sammen i din where - som f.eks.:

where (Fornavn + ' ' +  Efternavn like '%" & strKeyword & "%')
Avatar billede medions Nybegynder
22. oktober 2002 - 14:52 #2
Hvis du søger under hele navnet altså Poul Hansen, så er det oxo den post der kommer frem først! -Ellers kan du ikkek.. For så skal du hen og ha' en ren WHERE clouse...Altså fx.:

strSQL = "SELECT Navn FROM Kunder WHERE Navn = 'Poul Hansen'"

- i dit tilfælde ville det se sådan ud:

strSQL = "SELECT Navn FROM Kunder WHERE Navn ='" & strKeyword & "'"

//>Rune
Avatar billede kurt Nybegynder
22. oktober 2002 - 15:26 #3
Nozio.
Lige i øjet! Det virker. Point afsendt.

Du skulle vel ikke også have en løsning på hvordan man kan søge på f.eks navn OG by. Altså en AND løsning som hos Google?
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
Kurser inden for grundlæggende programmering

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