---
title: "Selected"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11257-selected"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Mz"
published: "2001-08-23T11:22:00.000Z"
updated: "2001-08-23T13:28:00.000Z"
replies: 13
views: 309
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/11257-selected"
---

# Selected

## #1 — Mz, 2001-08-23T11:22Z

Hej.
Jag har lite strul med en sak, skulle behöva lite hjälp. :)

Jag skriver ut en dropDown från en Access2000 databas, databasen ser ut så här:
stateID &#0124; Räknare
State &#0124; PM
refID &#0124; Text

Sidan som länkar till sidan med dropdownen har länkar med olika län, varje län har ett unikt ID och ett klick på länken tar besökaren till sidan med dropDownen, när man entrar sidan visas två st dropmenyer, 1st med länen, 1st med kommunerna.

Nu vill jag att om man klickat på länken med ID2 så skall alternativ 2 i dropmenyn vara SELECTED så man kan se vilket län man klickade på. Klickar man sedan på drop-menyn med kommuner så skall den kommun man klickat på också bli till SELECTED, hur lyckas jag med detta?

Jag vill alltså att när Quersytringens värde stämmer överens med ett värde i databasen blir dess \<option\> SELECTED.

Hänger ni med? ;)

Min kod som skriver ut dropmenyn med länen ser ut som följer:

```
<%
Response.Write "<form action=""*"">"
	Response.Write "<table border=""0"" cellspacing=""0"" cellpadding=""0"" align=""left""><tr><td>"
	Response.Write "<select name=""till"" size=""1"" onChange=""en(this.form, this.name);"" style=""width: 110px;"">"
	Response.Write "<option>Kommun:"
	Response.Write "<option>"

		Set Connect = Server.CreateObject("ADODB.Connection")
		Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = "& Server.MapPath("..\db\states.mdb")
		SQL = "SELECT * FROM data_states WHERE refID = '"& Request.Querystring("ID") &"'"
		Set RecSet = Connect.Execute(SQL)

			Do Until RecSet.EOF
		
				rsID = RecSet("stateID")
				refID = RecSet("refID")
				rsState = RecSet("State")

				Response.Write "<option value=action.asp?action=show_state&ID="& refID &"&stID="& rsID &">"& rsState
			

			RecSet.MoveNext
			Loop
	

		RecSet.Close
		Set RecSet = Nothing
		Connect.Close
		Set Connect = Nothing

	Response.Write "<option>"
	Response.Write "</select>"
	Response.Write "</td></tr></table>"
	Response.Write "</form>"
%>
```

Tacksam för svar!

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

## #2 — mrblonde, 2001-08-23T11:32Z

```
Function IIF(ByVal expr, ByVal v1, ByVal v2)
	If expr Then
		IIF = v1
	Else
		IIF = v2
	End If
End Function

Sen kan man i option taggen slänga in
<option value="<%=rs("id")%>"<%=IIF(rs("id")=Request.querystring("id")," SELECTED ","")%>>Text som syns i dropdownen</option>

Du får byta ut rs("id") och request.querystring("id") mot det som det skulle vara.
```

\[r\] rättade min kod lite :)

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

## #3 — Mz, 2001-08-23T11:46Z

Tack, jag provalerar. ;)

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

## #4 — Mz, 2001-08-23T11:56Z

Jag får det inte att fungera så bra...

Jag använder samma funktion som du skrev, sedan denna kod:

```
<option value="action.asp?action=show_state&areaID=<%=refID%>&stateID=<%=rsID%>" <%=IIF((rsID) = Request.Querystring("stateID")," SELECTED ","")%>><%=rsState%>
```

Inga felmeddelande, dock blir inga \<options\> SELECTED.

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

## #5 — jorgen, 2001-08-23T12:00Z

asch, läste totalt fel :(

Jörgen

\[Redigerat av jorgen den 23 aug 2001\]

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

## #6 — Mz, 2001-08-23T12:03Z

Jag har även försökt detta:

```
<option value="action.asp?action=show_state&areaID=<%=refID%>&stateID=<%=rsID%>" <% If rsID = Request.Querystring("stateID") Then Response.Write " SELECTED"%>><%=rsState%>
```

Men det fungerar inte heller.. :/

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

## #7 — Mz, 2001-08-23T12:08Z

Skriver jag ut \<%=rsID%\> och \<%=Request.Querystring("stateID")%\> så visar dem samma värde, men \<option\> blir inte SELECTED.. :(

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

## #8 — @nders, 2001-08-23T12:24Z

if clng (rsID) = clng(Request.Querystring("stateID")) then...

problemet kan vara att variablerna är av olika subtyper, så du får först konvertera dem till samma, exempelvis long.

mvh,

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

## #9 — Mz, 2001-08-23T12:43Z

"The king has spoken..."

@nders - Det fungerar "kungligt" bra! ;)
Tack!

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

## #10 — Mz, 2001-08-23T12:49Z

hmmm.. märker att jag ibland får felmeddelandet:
Inkompatibla typer: 'clng'

Vad kan det bero på måntro?

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

## #11 — @nders, 2001-08-23T12:58Z

vad har du i variabeln då du får felmeddelandet?

long är alltså tal, om du ska göra strängjämförelser använder du cstr(), om du ska jämföra datum använder du cdate().

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

## #12 — Mz, 2001-08-23T13:05Z

Hej.

Det är siffror jag skall jämför så cstr fungerade mycket bättre, tack!

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

## #13 — @nders, 2001-08-23T13:10Z

cstr funkar för det mesta. grejen är du kan göra tal till strängar hur som helst, men inte strängar till tal.

cstr(123) ger dig en sträng som innehåller "123".
cdbl("123") ger dig en talet 123.
cdbl("en sträng") ger dig ett felmeddelande eftersom bokstäver inte kan göras om till tal.

mvh,

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

## #14 — Mz, 2001-08-23T13:28Z

Tack för den snabblektionen!
\*kastar aspboken och lägger till WF i favoriterna\*

;)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11257-selected
