---
title: "Fel på denna kod?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12727-fel-på-denna-kod"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "edebro"
published: "2001-11-20T08:29:00.000Z"
updated: "2001-11-20T10:42:00.000Z"
replies: 10
views: 242
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/12727-fel-på-denna-kod"
---

# Fel på denna kod?

## #1 — edebro, 2001-11-20T08:29Z

Okej, jag håller på med en sökfunktion där man ska kunna filtrera sökningen ganska rejält, men det fungerar inte som jag vill, här är koden:

If Request.Querystring("connectionEquals") = "At least" Then
				Select Case Request.Querystring("connection")	
					Case "T-3"
						Userinfo = Userinfo & " AND Line = 'T-3'"
					Case "T-1"
						Userinfo = Userinfo & " AND Line = 'T-3' OR Line = 'T-1'"
				End Select
			End If

det fungerar altså så att jag har 2 dropdown menyer. Med valen "At least", "Equal to" och "At best"
Sen om man väljer t ex "At least" i första menyn, sen kan man välja en uppkoppling t ex "DSL" och då får man fram alla som har DSL och snabbare(typ T-3 mm)
Det är denna rad som inte riktigt vill fungera, det måste väl vara nåt fel med SQL satsen
Case "T-1"
						Userinfo = Userinfo & " AND Line = 'T-3' OR Line = 'T-1'"

tacksam för snabbt svar

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

## #2 — @nders, 2001-11-20T08:32Z

Och SQL-satsen utskriven ser ut hur?

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

## #3 — edebro, 2001-11-20T09:05Z

ja just ja =)

så här ser den ursprungliga SQL satsen ut:
Userinfo = "SELECT \* FROM users WHERE ID = " & RecSet("Number")

och sen fortsätter jag bygga på den iom att villkoren för sökningen uppfylls.
Med If satser som ovan.
Men det lite bökiga är att jag söker igenom 2 databaser(tabeller) för att alla funktioner ska uppfyllas

ni får gärna ta er en titt på sidan: <http://213.67.56.142/search.asp> 

den är uppe hela dagen skulle jag tro

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

## #4 — edebro, 2001-11-20T09:06Z

om ni kollar på sidan så kan jag berätta att Connection och Country ligger i en annan databas(tabell)

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

## #5 — @nders, 2001-11-20T09:06Z

> och sen fortsätter jag bygga på den iom att villkoren för sökningen uppfylls.

Hur ser den ut när den är klar då? Använd Response.write för att kasta ut den till webbläsaren innan execute.

Mvh,

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

## #6 — edebro, 2001-11-20T10:01Z

det är ju en bra ide....ska prova det
men annars så tycker du att SQL satsen ser okej eller?

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

## #7 — edebro, 2001-11-20T10:03Z

så här såg den ut när jag skrev ut den:
SELECT \* FROM users WHERE ID = 352 AND Line = 'T-3' OR Line = 'T-1' 

det tycker jag ser ganska okej ut...eller?

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

## #8 — @nders, 2001-11-20T10:05Z

Vad är problemet?

Jag tycker att det saknas en parentes, men annars ser frågan rätt ut.

```
SELECT * FROM users WHERE ID = 352 AND (Line = 'T-3' OR Line = 'T-1')
```

Mvh,

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

## #9 — edebro, 2001-11-20T10:15Z

problemet är det att den bara listar folk med "T-1" även om man har valt att den ska lista dom med MINST T-1....dvs att den då också ska lista dom med T-3 för att det är snabbare

men jag visste inte att det skulle se ut så där....det ska altså vara paranteser....det har jag aldrig haft förut?

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

## #10 — edebro, 2001-11-20T10:20Z

men helvete vad bra @nders......du löste mitt dilemma.
Tusen tack :)

problemet var altså att jag inte hade några paranteser....men det måste ju vara så att när man har flera alternativ bhövs det, för jag har aldrig kört med paranteser förr??

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

## #11 — Vide, 2001-11-20T10:42Z

Satser inom paranteser behandlas för sig, annars skulle man inte kunna ställa sådanna frågor.

Where-satser (precis som if) arbetar med true och false. Så om ID är 352, Line är T-1 men inte T-3 så kommer det att se ut såhär för SQL:
True AND (False OR True)

Eftersom du kapslat in false och true med ett OR mellan, så kommer den inkappslingen att bli true.

"True AND True" blir i sin tur blir True, och hela Where-satsen blev sann.

Det hela handlar om logisk mattematik.

Kanske lite klumpigt beskrivet, men så är det... ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/12727-fel-på-denna-kod
