---
title: "Query.String/Select"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/73115-query-string-select"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "SannyW"
published: "2003-04-04T03:58:04.000Z"
updated: "2003-04-04T12:50:53.000Z"
replies: 6
views: 228
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/73115-query-string-select"
---

# Query.String/Select

## #1 — SannyW, 2003-04-04T03:58Z

Ja, vad jag har försökt att göra är att har två stycken select-boxar där man kan välja a:1-10 i den ena och b:1-10 i den andra.

När man väljer i A, t ex 1 skall sidan skriva innehållet som stämmer överrens med valet 1.

Vad som nu händer är att den ena fungerar bara, alltså antingen A eller B (Alla 1-10 fungerar). Det beror på vilken som ligger först. 
Men funkar a:1-10 så funkar inte b alls.

Och skriver man bara path=a eller path=b så fungerar dem funktionerna som de skall. Men inte när man blandar in 1-10.

Hoppas någon kan förstå vad jag precis har skrivit. Har snurrat till det nu så jag hittar inte lösningen. Är tacksam för synpunkter om koden.

Tack på förhand.

```
<FORM NAME=""><SELECT valign="middle" NAME="snabbval" SIZE="1" onChange="update_frames(this.form);">
<OPTION VALUE="" SELECTED>Välj</OPTION>
<OPTION>-------------------------</OPTION>
<OPTION VALUE="default.asp?path=a&lag=1">A</OPTION>
</SELECT></FORM>

<FORM NAME=""><SELECT valign="middle" NAME="snabbval" SIZE="1" onChange="update_frames(this.form);">
<OPTION VALUE="" SELECTED>Välj</OPTION>
<OPTION VALUE="default.asp?path=b&lag=1"></a>B</OPTION>
</SELECT>
</FORM>

<%
IF Request.QueryString = "path=a" THEN%>

<%
				Set Connect = Server.CreateObject("ADODB.Connection") 
				Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/db.mdb")&";"

				Set RecSet = Server.CreateObject("ADODB.Recordset")

				SQL = "SELECT * FROM table_a ORDER BY ID ASC"
				RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
				

  

				  
				  DO UNTIL RecSet.EOF
				  %>
<%=RecSet("namn")%><% RecSet.MOVENEXT %>

  <%
				  X=X+1
				  
				  LOOP						
				  
				RecSet.CLOSE
				Connect.CLOSE
				Set RecSet = nothing
				Set Connect = nothing
				%>

<%else 

	strLag = request.querystring("lag")
	If strLag = "" then
  		sortera = "ID"
	else
  		sortera = strLag
	END IF

Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../db/db.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")

   
   Visa = "SELECT * FROM table_a WHERE n1 = '" & sortera1 & "' OR n2 = '" & sortera1 & "' ORDER BY ID ASC"
   RecSet.Open Visa, Connect, 3, 3  

END IF%>

<%
IF Request.QueryString = "path=b" THEN%>

<%
				Set Connect = Server.CreateObject("ADODB.Connection") 
				Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../db/db.mdb")&";"

				Set RecSet = Server.CreateObject("ADODB.Recordset")

				SQL = "SELECT * FROM table_b ORDER BY ID ASC"
				RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
				

  

				  
				  DO UNTIL RecSet.EOF
				  %>
<%=RecSet("Namn")%><% RecSet.MOVENEXT %>

  <%
				  X=X+1
				  
				  LOOP						
				  
				RecSet.CLOSE
				Connect.CLOSE
				Set RecSet = nothing
				Set Connect = nothing
				%>
<%else 

	strLag = request.querystring("lag")
	If strLag = "" then
  		sortera = "ID"
	else
  		sortera = strLag
	END IF

Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../db/db.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")

   
   Visa = "SELECT * FROM table_b WHERE n1 = '" & sortera1 & "' OR n2 = '" & sortera1 & "' ORDER BY ID ASC"
   RecSet.Open Visa, Connect, 3, 3 
 
END IF%>

<% IF NOT RecSet.EOF or NOT RecSet.BOF THEN%>

<TR><TD COLSPAN="7"><font size="2"><b><%response.write request.querystring("lag")%></b></font></TR></TD>
<%Else%>

<%End IF %>

		
<%Do Until RecSet.EOF %>

<%=RecSet("n1")%>-<%=RecSet("n2")%>

<% 
	RecSet.MoveNext
	Loop
	RecSet.Close %>
```

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

## #2 — m_soderlund, 2003-04-04T06:12Z

Jag tror att saken kan fixas med Javascript, men jag kan tyvärr inte Javascript så bra. :l
<https://www.pellesoft.nu> har bland annat sådana "dropdownboxar" som du pratar om.

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

## #3 — SannyW, 2003-04-04T08:40Z

Det hade i och för sig kunnat funka kanske, men skulle gärna vilja komma fram till vad jag gjort för fel i koden.

Någonstans har min tanke varit fel, det funkar att söka efter ena data. Men inte det andra...........

tror det sitter i \<%ELSE OCH 

strLag = request.querystring("lag")
	If strLag = "" then
  		sortera = "ID"
	else
  		sortera = strLag
	END IF

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

## #4 — SannyW, 2003-04-04T11:03Z

Ingen som har några idéer om vad som är fel?? 

Nedan följer vad som skall styra vilken databas som laddas. Samma text finns på två ställen, men med olika tabeller som styr vad som skall skrivas ut.

```
<%else 

	strLag = request.querystring("lag")
	If strLag = "" then
  		sortera = "ID"
	else
  		sortera = strLag
	END IF

Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../db/db.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")

   
   Visa = "SELECT * FROM table_a WHERE n1 = '" & sortera1 & "' OR n2 = '" & sortera1 & "' ORDER BY ID ASC"
   RecSet.Open Visa, Connect, 3, 3  

END IF%>
```

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

## #5 — hammers, 2003-04-04T11:18Z

```
strLag = request.querystring("lag")
	If strLag = "" then
  		sortera = "ID"
	else
  		sortera = strLag
	END IF
```

```
Visa = "SELECT * FROM table_a WHERE n1 = '" & sortera1 & "' OR n2 = '" & sortera1 & "' ORDER BY ID ASC"
```

Jag kan vara ute på en cykeltur här, men borde det inte stå **sortera** istället för sortera1 på den sista raden??

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

## #6 — SannyW, 2003-04-04T11:27Z

Jo, helt klart. 

Men jag har försökt att dela upp dem två med olika sökningarna, fram och tillbaka utan att hitta rätt. Därför missade jag att ta bort 1:an när jag raderade bort en massa onödigt.

Uppskattar ditt svar ändå!! :)

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

## #7 — solbulle, 2003-04-04T12:50Z

Spontant ser jag inte hur det där ska kunna fungera, när den andra ändringen sker skrivs ju det första över. Du måste på något sätt "få med dig" det första resultatet i den andra ändringen...
\*funderar\*
I övrigt verkar det även vara lite dubbelt av en del kod.

Sen ska du väl iofs kolla din querystring så här:

```
IF Request.QueryString("path") = "b" THEN
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/73115-query-string-select
