---
title: "Sökning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/82897-sökning"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "SteveP"
published: "2003-07-28T08:42:08.000Z"
updated: "2003-07-29T11:22:09.000Z"
replies: 10
views: 342
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/82897-sökning"
---

# Sökning

## #1 — SteveP, 2003-07-28T08:42Z

Jag ska bygga en sökfunktion där man ska kunna söka mha 3 - 5 olika saker. Man ska kunna kombinera en sökning genom att söka på namn och sammtidigt klient. Så att den visar alla poster med Namnet man sökte på samt klienten.

Skulle nån kunna beskriva ett bra tillvägagångssett där sökningsdelen är "Flexibel"... man ska alltså kunna söka enbart på klient, enbart på person, enbart på serialnummer eller kombinera alla 3 eller kombiner 2 av dom..osv

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

## #2 — Insider, 2003-07-28T13:34Z

OBS! Detta funkar inte om vissa fält i tabellen är tomma.
Ingen perfekt lösning kanske, men ganska enkel att jobba med.

Lägg bara in innehållet i sökfälten där det står SÖKORD. Det spelar ingen roll om det är en tom sträng.

```
SELECT falt1, falt2, falt3, falt4, falt5
FROM TABELL
WHERE (((falt1) Like '*SÖKORD*') 
AND ((falt2) Like '*SÖKORD*') 
AND ((falt3) Like '*SÖKORD*') 
AND ((falt4) Like '*SÖKORD*') 
AND ((falt5) Like '*SÖKORD*'))
```

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

## #3 — mozilla, 2003-07-28T15:34Z

där blev det lite fel väl, menar du inte %

```
SELECT falt1 FROM TABELL WHERE falt1 LIKE '%[red]"& sokord &"[/red]%'
```

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

## #4 — Insider, 2003-07-28T15:39Z

Satt just och klurade på det.

Det funkar med \* i Access. Koden du skrev blir fel. Men fråga mig inte varför. Eller ska det vara % när man använder ASP??

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

## #5 — mozilla, 2003-07-28T15:44Z

Förövrigt använder jag följande kod som kanske kan fungera för ditt ändamål

```
For each item in Request.QueryString
	if(Trim(Request.QueryString(item)) <> "" AND Len(Trim(Request.QueryString(item))) => 3) Then
		strWhere = strWhere & item &" LIKE '%"& Request.QueryString(item) &"%' AND "
	end if
Next

strWhere = Left(strWhere,Len(strWhere)-5)
```

Det förutsätter att input textfälten heter samma sak som i databasen, samt att sökorden är längre än 3 tecken, och att du bara har sökorden i querystringen.

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

## #6 — SteveP, 2003-07-29T09:36Z

Men om man bara fyller i 1 fält i din mozilla? Skriver den inte ut ett "AND" förmycket då ?

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

## #7 — SteveP, 2003-07-29T09:44Z

Jo men din kod är ju inte flexibel insider.. man måste ju fylla i alla 5 fälten för att den ska returnera rätt data? Jag vill kunna fylla i 1-5 fält. Fyller jag inte i det sista fältet tex så kommer den ju försöka matcha nåt som är tomt. Om man ej fyllt i det sista fältet så ska den inte ens söka på det fältet.

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

## #8 — mozilla, 2003-07-29T10:21Z

Nej det gör den inte SteveP, för i slutet tar den bort det sista AND. Testa koden så kan du enkelt se hur den fungerar.

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

## #9 — Insider, 2003-07-29T10:40Z

Det ska visst funka att utelämna ett eller flera fält.
Det är därför det står en \* i SQL-satsen.

Jag har alltså testat den där frågan i Access och då fungerade det. (förutom i de fall då nåt av fälten är tomma)

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

## #10 — SteveP, 2003-07-29T11:18Z

Ah funkar primar Mozilla.. cheers!

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

## #11 — Gladh, 2003-07-29T11:22Z

....

\- M

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

---

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