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'"
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
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?
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??
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... ;)
------------------
Doesn't 'expecting the unexpected' make the unexpected expected? webeye.nu
[Redigerat av Vide den 20 nov 2001]
403 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e