---
title: "Välja omgångar med dropdown"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/70081-välja-omgångar-med-dropdown/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Ralle"
published: "2003-03-04T22:11:45.000Z"
updated: "2003-03-08T23:58:27.000Z"
replies: 34
views: 591
page: 2
pages: 2
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/70081-välja-omgångar-med-dropdown"
---

# Välja omgångar med dropdown

_Sida 2 av 2._

## #21 — solbulle, 2003-03-07T11:09Z

Kanske är läge att visa hela koden, det blir lättare att se sammanhanget då. 
Du måste lägga till formulärskod runt dropdownen och posta sidan för att komma åt det nya värdet i valdomgang.

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

## #22 — Ralle, 2003-03-07T11:50Z

Jag gör det i kväll, sitter på jobbet nu.

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

## #23 — Ralle, 2003-03-07T17:16Z

Okey, här kommer koden:

```
Set objConnect = Server.CreateObject("ADODB.Connection")
objConnect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "& Server.MapPath("../databas/Ishockey.mdb")
strSQL1="SELECT DISTINCT Omgang AS Omg FROM Elitserien_2002_2003"
Set rstOmg = Server.Createobject("adodb.RecordSet")
rstOmg.Open strSQL1, objConnect, 1, 2
valdomgang=0
If rstOmg.EOF Then
     Response.Write("Ingen omgång funnen")
Else
     Response.Write("<SELECT name=""valdomgang"">")
     Do until rstOmg.EOF
          Response.Write("<OPTION value=""" & rstOmg("Omg") & """>" &"Omgång " & rstOmg("Omg") & "</OPTION>")
          rstOmg.MoveNext
     Loop
     Response.Write("</SELECT>")
End If
%><BR><BR><%
If valdomgang=0 Then
strSQL="SELECT Datum, Omgang, L1.Lag AS hemma, L2.Lag AS borta, HemmaPeriod1Mal, BortaPeriod1Mal, HemmaPeriod2Mal, BortaPeriod2Mal, HemmaPeriod3Mal, BortaPeriod3Mal, HemmaPeriod4Mal, BortaPeriod4Mal, HemmaPeriod5Mal, BortaPeriod5Mal FROM (Elitserien_2002_2003 AS elit INNER JOIN Lag_i_Elitserien_2002_2003 AS L1 ON L1.ID=elit.HemmaLag) INNER JOIN Lag_i_Elitserien_2002_2003 AS L2 ON L2.ID=elit.BortaLag ORDER BY Datum"
Set rstResultat=objConnect.Execute(strSQL)
Else
strSQL="SELECT Datum, Omgang, L1.Lag AS hemma, L2.Lag AS borta, HemmaPeriod1Mal, BortaPeriod1Mal, HemmaPeriod2Mal, BortaPeriod2Mal, HemmaPeriod3Mal, BortaPeriod3Mal, HemmaPeriod4Mal, BortaPeriod4Mal, HemmaPeriod5Mal, BortaPeriod5Mal FROM (Elitserien_2002_2003 AS elit INNER JOIN Lag_i_Elitserien_2002_2003 AS L1 ON L1.ID=elit.HemmaLag) INNER JOIN Lag_i_Elitserien_2002_2003 AS L2 ON L2.ID=elit.BortaLag WHERE omgang='" & request.form("valdomgang") & "' ORDER BY Datum"
Set rstResultat=objConnect.Execute(strSQL)
End If
```

Efter det här kommer kod för det som kommer ut på skärmen, så det tar jag inte med.

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

## #24 — solbulle, 2003-03-07T18:48Z

Detta tycker jag har vissa möjligheter att fungera:

```
Set objConnect = Server.CreateObject("ADODB.Connection")
objConnect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "& Server.MapPath("../databas/Ishockey.mdb")
strSQL1="SELECT DISTINCT Omgang AS Omg FROM Elitserien_2002_2003"
Set rstOmg = Server.Createobject("adodb.RecordSet")
rstOmg.Open strSQL1, objConnect, 1, 2
valdomgang=0
If rstOmg.EOF Then
     Response.Write("Ingen omgång funnen")
Else
     Response.Write("<Form name=""omgang"" action="""& Request.ServerVariables("SCRIPT_NAME") & """>")
     Response.Write("<SELECT name=""valdomgang"">")
     Do until rstOmg.EOF
          Response.Write("<OPTION value=""" & rstOmg("Omg") & """>" &"Omgång " & rstOmg("Omg") & "</OPTION>")
          rstOmg.MoveNext
     Loop
     Response.Write("</SELECT>")
     Response.Write("<INPUT name=Submit type=submit value=""  Välj ""></form>")
End If

Response.Write "<BR><BR>"

If request.form("valdomgang") <> "" then
	valdomgang = request.form("valdomgang")
End If

If valdomgang=0 Then
	strSQL="SELECT Datum, Omgang, L1.Lag AS hemma, L2.Lag AS borta, HemmaPeriod1Mal, BortaPeriod1Mal, HemmaPeriod2Mal, BortaPeriod2Mal, HemmaPeriod3Mal, BortaPeriod3Mal, HemmaPeriod4Mal, BortaPeriod4Mal, HemmaPeriod5Mal, BortaPeriod5Mal FROM (Elitserien_2002_2003 AS elit INNER JOIN Lag_i_Elitserien_2002_2003 AS L1 ON L1.ID=elit.HemmaLag) INNER JOIN Lag_i_Elitserien_2002_2003 AS L2 ON L2.ID=elit.BortaLag ORDER BY Datum"
	Set rstResultat=objConnect.Execute(strSQL)
Else
	strSQL="SELECT Datum, Omgang, L1.Lag AS hemma, L2.Lag AS borta, HemmaPeriod1Mal, BortaPeriod1Mal, HemmaPeriod2Mal, BortaPeriod2Mal, HemmaPeriod3Mal, BortaPeriod3Mal, HemmaPeriod4Mal, BortaPeriod4Mal, HemmaPeriod5Mal, BortaPeriod5Mal FROM (Elitserien_2002_2003 AS elit INNER JOIN Lag_i_Elitserien_2002_2003 AS L1 ON L1.ID=elit.HemmaLag) INNER JOIN Lag_i_Elitserien_2002_2003 AS L2 ON L2.ID=elit.BortaLag WHERE omgang='" & valdomgang & "' ORDER BY Datum"
	Set rstResultat=objConnect.Execute(strSQL)
End If
```

Som det är skrivet nu är omgang av typen text i din db, om det är tal (som det verkar som iofs) får du ta bort apostroferna runt omgang i strSQL.

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

## #25 — Ralle, 2003-03-08T13:00Z

Ja, "omgang" är tal.

Men tyvärr fungerar inte ditt förslag, det händer ingenting.

Så här ser url'en ut:<http://localhost/Elitseriematcher_2002-2003.asp?valdomgang=1&Submit=++V%E4lj+>

Hoppas det kan ge något.

Sen undrar jag två saker. Jag skulle vilja slippa "välj"-knappen. När man väljer i dropdown så tar den fram  det jag valt utan att behöva trycka på knappen.

Sen skulle jag vilja ha en nolla före ettan i listan, som man väljer när man vill visa alla matcher.

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

## #26 — solbulle, 2003-03-08T13:16Z

Hupp!
Ändra till detta:

```
	Response.Write("<Form name=""omgang"" action="""& Request.ServerVariables("SCRIPT_NAME") & """ method=""post"">")
	Response.Write("<SELECT name=""valdomgang"" OnChange=""this.form.submit();"">")
	Do until rstOmg.EOF
          Response.Write("<OPTION value=""" & rstOmg("Omg") & """>" &"Omgång " & rstOmg("Omg") & "</OPTION>")
          rstOmg.MoveNext
     Loop
     Response.Write("</SELECT></form>")
```

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

## #27 — solbulle, 2003-03-08T13:37Z

> Sen skulle jag vilja ha en nolla före ettan i listan, som man väljer när man vill visa alla matcher.

Så att det blir:

01
02
03
04
osv?

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

## #28 — Ralle, 2003-03-08T13:46Z

Nej.

Så här:
0
1
2
3
osv.

Som det är nu hämtas 1 t.o.m. 3 från tabellen, men eftersom 0 inte finns i tabellen, tänkte jag om man kunde få in värdet på något annat sätt i dropdown'en.

Tilldelning eller????

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

## #29 — solbulle, 2003-03-08T14:27Z

Ah! Ok, inga problem.

Lägg in:

          Response.Write("\<OPTION value=0\>Omgång 0\</OPTION\>")

Precis över:

	Do until rstOmg.EOF

Så ska det nog bli bra.
Hur fungerade den andra koden jag postade?

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

## #30 — Ralle, 2003-03-08T14:58Z

Jag fick det här felet:
    \* Feltyp:
      Microsoft JET Database Engine (0x80040E07)
      Typblandningsfel i villkorsuttryck.
/Elitseriematcher_2002-2003.asp, line 29

Jag visar rad 28 o 29 härunder:

```
strSQL="SELECT Datum, Omgang, L1.Lag AS hemma, L2.Lag AS borta, HemmaPeriod1Mal, BortaPeriod1Mal, HemmaPeriod2Mal, BortaPeriod2Mal, HemmaPeriod3Mal, BortaPeriod3Mal, HemmaPeriod4Mal, BortaPeriod4Mal, HemmaPeriod5Mal, BortaPeriod5Mal FROM (Elitserien_2002_2003 AS elit INNER JOIN Lag_i_Elitserien_2002_2003 AS L1 ON L1.ID=elit.HemmaLag) INNER JOIN Lag_i_Elitserien_2002_2003 AS L2 ON L2.ID=elit.BortaLag WHERE omgang=' & valdomgang & ' ORDER BY Datum"
Set rstResultat=objConnect.Execute(strSQL)
```

Du kan bortse från det här frågan, jag hade ju glömt bort apostroferna.

Men angående det här med omgång 0 först så blir det lite galet.

Jag får så här i listan:
0
1
0
2
0
3
osv.

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

## #31 — solbulle, 2003-03-08T16:16Z

Skrev jag inte:

> **solbulle skrev:**
>
> Precis över:
> Do until rstOmg.EOF

  ;)

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

## #32 — Ralle, 2003-03-08T17:03Z

Okey, jag läste alldeles galet.

Jag provade att göra så, men när jag väljer "omgång 0" så händer ingenting.

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

## #33 — solbulle, 2003-03-08T18:26Z

Du läst einte galet, jag skrev fel först, ändrat nu. :)

Anledningen till att det inte blir något vid "omgång 0" är att du aldrig ändrar värdet.

Tror du får lägga till ännu en rad i din seleclista, typ:

```
Set objConnect = Server.CreateObject("ADODB.Connection")
objConnect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "& Server.MapPath("../databas/Ishockey.mdb")
strSQL1="SELECT DISTINCT Omgang AS Omg FROM Elitserien_2002_2003"
Set rstOmg = Server.Createobject("adodb.RecordSet")
rstOmg.Open strSQL1, objConnect, 1, 2
valdomgang=0
If rstOmg.EOF Then
     Response.Write("Ingen omgång funnen")
Else
	Response.Write("<Form name=""omgang"" action="""& Request.ServerVariables("SCRIPT_NAME") & """ method=""post"">")
	Response.Write("<SELECT name=""valdomgang"" OnChange=""this.form.submit();"">")
	Response.Write("<OPTION value=""x"">-- VÄLJ --</OPTION>") 
	Response.Write("<OPTION value=0>Omgång 0</OPTION>")
	Do until rstOmg.EOF
          Response.Write("<OPTION value=""" & rstOmg("Omg") & """>" &"Omgång " & rstOmg("Omg") & "</OPTION>")
          rstOmg.MoveNext
     Loop
     Response.Write("</SELECT></form>")

Response.Write "<BR><BR>"

If request.form("valdomgang") <> "" then
	valdomgang = request.form("valdomgang")
End If

If Isnumeric(valdomgang) then 
	If valdomgang=0 Then
		strSQL="SELECT Datum, Omgang, L1.Lag AS hemma, L2.Lag AS borta, HemmaPeriod1Mal, BortaPeriod1Mal, HemmaPeriod2Mal, BortaPeriod2Mal, HemmaPeriod3Mal, BortaPeriod3Mal, HemmaPeriod4Mal, BortaPeriod4Mal, HemmaPeriod5Mal, BortaPeriod5Mal FROM (Elitserien_2002_2003 AS elit INNER JOIN Lag_i_Elitserien_2002_2003 AS L1 ON L1.ID=elit.HemmaLag) INNER JOIN Lag_i_Elitserien_2002_2003 AS L2 ON L2.ID=elit.BortaLag ORDER BY Datum"
		Set rstResultat=objConnect.Execute(strSQL)
	Else
		strSQL="SELECT Datum, Omgang, L1.Lag AS hemma, L2.Lag AS borta, HemmaPeriod1Mal, BortaPeriod1Mal, HemmaPeriod2Mal, BortaPeriod2Mal, HemmaPeriod3Mal, BortaPeriod3Mal, HemmaPeriod4Mal, BortaPeriod4Mal, HemmaPeriod5Mal, BortaPeriod5Mal FROM (Elitserien_2002_2003 AS elit INNER JOIN Lag_i_Elitserien_2002_2003 AS L1 ON L1.ID=elit.HemmaLag) INNER JOIN Lag_i_Elitserien_2002_2003 AS L2 ON L2.ID=elit.BortaLag WHERE omgang=" & valdomgang & " ORDER BY Datum"
		Set rstResultat=objConnect.Execute(strSQL)
	End If
End If
```

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

## #34 — Ralle, 2003-03-08T19:16Z

TACK så hemskt mycket.

Nu fungerar det perfekt.

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

## #35 — solbulle, 2003-03-08T23:58Z

Du är välkommen.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/70081-välja-omgångar-med-dropdown/page2  
Föregående sida: https://www.webforum.nu/amne/asp/70081-välja-omgångar-med-dropdown.md
