---
title: "Sökfunktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/142367-sökfunktion"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "UrMe"
published: "2006-02-13T08:04:39.000Z"
updated: "2006-02-16T15:01:39.000Z"
replies: 4
views: 508
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/142367-sökfunktion"
---

# Sökfunktion

## #1 — UrMe, 2006-02-13T08:04Z

Om jag har en databas med 10 kolumner som man ska kunna söka i med en vanlig input ruta så har jag skrivit SQL frågan så här.

SQL = "Select \* From tabell where falt1 LIKE '%" & sokord & "%' OR falt2 LIKE '%" & sokord & "%' OR falt3 LIKE '%" & sokord & "%' OR falt4 LIKE '%" & sokord & "%'"

ända upp till falt10..

Men nu fungerar det ju bara med ett ord.. om jag istället vill kanske skriva in "blå, bil" i sökrutan.. så vill jag att "blå" och "bil" ska vara oberoende av varandra. Kanske falt10 är "blå" och falt2 är "bil". Nu när jag skriver in "blå, bil" så får jag ju ingen träff.. därför vill jag splitta upp strängen när det är ett "," eller ett annat lämpligt tecken.

Men hur skriver jag SQL frågan isåfall? Det kan ju lika bra vara 4-5 ord som det ska sökas på.

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

## #2 — voigtann1, 2006-02-13T08:44Z

jag hade nog gjort en split som du talar om och kanske köra en "standard" sträng som loopars igenom split:en och lägga in det i hela SQL frågan exmpel:

```
dim splitedWords
splitedWords = split(strSearchWord,",")
for i = 0 to ubound(splitedWords)
  sql = sql & " falt1 like '%" &splitedWords(i) "%'...."
next
```

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

## #3 — UrMe, 2006-02-13T09:28Z

Tackar ska prova det där!

Om man vill använda sig av "AND" och "OR" istället för t.ex ";" så borde det på något liknande sätt va?

"blå AND bil AND stor" eller "blå OR svart AND bil"

Hur splittar man en sådan sträng bäst?

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

## #4 — UrMe, 2006-02-16T14:46Z

Måste få hjälp att skriva for loopen till denna grej.

Om jag ska söka på "Blåa bilar är snygga".

Hur skriver jag då for loopen om jag vill att sql frågan ska se ut så här:

```
falt1 like '%Blåa%' AND falt1 like '%bilar%' AND falt1 like '%är%' AND falt1 like '%snygga%' OR falt2 like '%Blåa%' AND falt2 like '%bilar%' AND falt2 like '%är%' AND falt2 like '%snygga%'
```

Alltså antingen falt1 eller falt2 måste innehålla alla de där orden, fast i databasen kan det ju stå "Snygga bilar är blåa".

Någon som är bra på detta? Har kört fast totalt hur jag ska skriva en for loop för att jag ska få frågan så där.

```
		dim splitedWords
		splitedWords = split(sokord," ")
		for i = 0 to ubound(splitedWords)
		  sql = sql & " falt1 like '%" &splitedWords(i)&"%'"
		next
```

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

## #5 — UrMe, 2006-02-16T15:01Z

Detta borde väl fungera? Ser ut att göra det iallafall :)

```
		for i = 0 to ubound(splitedWords)
		  sql = sql & " falt1 like '%"&splitedWords(i)&"%'"
		  If i = ubound(splitedWords) Then
				sql = sql & " OR"
		  else
				sql = sql & " AND"
		  End If
		next

		for i = 0 to ubound(splitedWords)
		  sql = sql & " falt2 like '%"&splitedWords(i)&"%'"
		  If i = ubound(splitedWords) Then
				sql = sql & " OR"
		  else
				sql = sql & " AND"
		  End If
		next

		for i = 0 to ubound(splitedWords)
		  sql = sql & " falt3 like '%"&splitedWords(i)&"%'"
		  If i = ubound(splitedWords) Then
				sql = sql & ""
		  else
				sql = sql & " AND"
		  End If
		next
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/142367-sökfunktion
