---
title: "Avancerad sök...."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11119-avancerad-sök"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "phazer23"
published: "2001-08-14T10:37:00.000Z"
updated: "2001-08-15T10:19:00.000Z"
replies: 5
views: 316
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/11119-avancerad-sök"
---

# Avancerad sök....

## #1 — phazer23, 2001-08-14T10:37Z

Har en fråga angående en lite mer avancerad sökfunktion. Som jag har de nu så skriver personen in nått han vill söka efter typ Lotta Andersson. Men ifall nån registrerat sig med typ omvändordning typ Andersson Lotta, så kommer ju inte resultatet fram. Vill alltsp få så att den söker på allt i databasen även omvänt.. Så skriver du Lotta Andersson så skall den söka både Lotta Andersson och Andersson Lotta . Tror nog att det behövs array för att fixa detta men är tyvärr itne så hemma på detta utan har mer "grundläggande" kunskaper i asp. Nån som kan ge mig lite tips och kanske en provsnutt med kod.?

Permalänk: https://www.webforum.nu/p/11119

## #2 — LarsG, 2001-08-14T11:11Z

```

if  request.form("search") <> "" then
words = split(request.form("search"))
where = "where ( yourColumn like '"

for i = 0 to ubound(words)
    where = where & "%" & words(i) & "%"
next
where = where & "') or ( yourColumn like '"

for i = ubound(words) to 0 step -1
    where = where & "%" & words(i) & "%"
next
where = where & "')"
else
where = ""
end if
sql = " select * from yourTable " & where
```

  

Jag tycker att det är bättre om du ser till att uppgifterna lagras på ett enhetligt sätt. Dels för att förenkla sökningen och dels för att kunna tolka uppgifterna korrekt.

Permalänk: https://www.webforum.nu/p/283648

## #3 — Brimba, 2001-08-14T11:18Z

Tja, du kan ju kanske göra så att du splittar variabeln vid varje space... exempelvis:

arr = split(request.form("search"), " ")
attTot = UBOUND(arr) + 1

Sedan kan du ju loopa detta för att få fram en bra fråga...

For i = 0 to arrTot
   if tSQL = "" Then
      tSQL = "namn like %" & arr(i) & "% "
   else
      tSQL = tSQL & "AND namn like %" & arr(i) & "%"
   end if
Next

sedan kör du exempelvis frågan..

connection.execute("Select \* from namn where" & tSQL)

Reserverar mig för grova fel :)

Permalänk: https://www.webforum.nu/p/283649

## #4 — Lina, 2001-08-14T11:57Z

Är det inte bättre att lagra för och efternamn i olika kolumner i databasen...
Då slipper du detta problem....
 :e

Permalänk: https://www.webforum.nu/p/283650

## #5 — spango, 2001-08-14T12:01Z

Jag är hågad att hålla med föregående talare.

Permalänk: https://www.webforum.nu/p/283651

## #6 — phazer23, 2001-08-15T10:19Z

Problemet är att det inte är jag som gjort databasen utan det är en jättedatabas från Play Nöje som innehåller alla skivor som finns utgivna i sverige och dom har fu..at upp den och inte varit konsekventa med förnamn respektive efternamn.

Permalänk: https://www.webforum.nu/p/283652

---

Tråden på webben: https://www.webforum.nu/amne/asp/11119-avancerad-sök
