---
title: "Välja omgångar med dropdown"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/70081-välja-omgångar-med-dropdown"
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: 1
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 1 av 2._

## #1 — Ralle, 2003-03-04T22:11Z

SELECT DISTINCT Omgang AS Omg FROM Elitserien_2002_2003

Den använder jag för att ta ut omgångarna.

Jag har lagt upp en dropdown på samma sida.

Hur gör jag för att få in värdena i dropdown-listan?

För att välja sen kan man väl använda IF-satser?

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

## #2 — Pellefant, 2003-03-04T22:22Z

Jag hade gjort såhär. :)  

\<% SELECT DISTINCT Omgang FROM Elitserien_2002_2003 %\>
\<% RecSet.Open SQL, Databas, 3, 3 %\>

\<%If RecSet.EOF Then %\>
   Ingen omgång funnen
\<%Else%\>
   \<select name="valt"\>
   \<option selected\>\<%=Recset("Omgang")%\>\</option\>
\<%End if%\>

\<% Do until RecSet.EOF 	%\>
   \<option\>\<%=Recset("Omgang")%\>\</option\>
   \<%Recset.movenext
loop  %\>
\</select\>

Den valda omgången hamnar sedan i variabeln "valt".

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

## #3 — Josef, 2003-03-04T22:59Z

Lite snyggare:

```
<%
strSQL = "SELECT DISTINCT Omgang FROM Elitserien_2002_2003"
Set RecSet = Server.Createobject("adodb.RecordSet")
RecSet.Open strSQL, [i]Connection[/i], 1, 2

If RecSet.EOF Then
     Response.Write("Ingen omgång funnen")
Else
     Response.Write("<SELECT name=""valt"">")
     Do until RecSet.EOF
          Response.Write("<OPTION>" & RecSet("omgang") & "</OPTION>")
          RecSet.MoveNext
     Loop
     Response.Write("</SELECT>")
End If

Set RecSet = Nothing
%>
```

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

## #4 — crisse6, 2003-03-04T23:02Z

Haller med Josef, varfor Pellefant har du gjort tva option?

r/ sag nu, en var selected... men tycker det blir konstigt da, for du kommer fa tva av samma da... ;)

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

## #5 — Pellefant, 2003-03-05T02:26Z

Ja, det har du rätt i.

Om min kod används, kasta in ett "Recset.movenext" efter End if raden.

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

## #6 — Ralle, 2003-03-05T17:37Z

Jag valde Josef's kod, då fick jag det här felmeddelandet:

    \* Feltyp:
      ADODB.Recordset (0x800A0BB9)
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.

Den hänvisar till den här raden:

RecSet.Open strSQL, Connection, 1, 2

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

## #7 — @nders, 2003-03-05T17:40Z

Antingen heter inte din variabel med SQL-frågan *strSQL* eller så har du inget connectionobjekt med namnet *connection*, verkar det som.

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

## #8 — Josef, 2003-03-05T18:11Z

Jag använde ju kursiv stil för att du skulle veta att du behövde ersätta det med dina egna instanser. ;)

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

## #9 — Ralle, 2003-03-05T19:01Z

Så här ser databaskopplingen ut i alla fall:

Set objConnect = Server.CreateObject("ADODB.Connection")
objConnect.Open "Driver={Microsoft Access Driver (\*.mdb)};dbq=" & Server.MapPath("../databas/Ishockey.mdb")& ";"
strSQL1="SELECT DISTINCT Omgang AS Omg FROM Elitserien_2002_2003"
Set objConnect = Server.Createobject("adodb.RecordSet")
rstOmg.Open strSQL1, objConnect, 1, 2

Jo, jag ändrade men måste ha missat något.

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

## #10 — Josef, 2003-03-05T19:08Z

```
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 [b]rstOmg[/b] = Server.CreateObject("adodb.RecordSet")
[b]rstOmg[/b].Open strSQL1, objConnect, 1, 2
```

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

## #11 — Ralle, 2003-03-05T19:47Z

Jag vet det kanske inte hör hemma här, men.

Vad är skillnaden på dom olika kopplingarna?

Jag har ytterligare en, då måste jag väl ändra på den?

Den ser ut så här:
Set rstResultat=objConnect.Execute(strSQL)

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

## #12 — Ralle, 2003-03-05T21:17Z

Jag får det här felet nu:
    \* Feltyp:
      ADODB.Recordset (0x800A0CC1)
      Objektet kunde inte hittas i mängden med det begärda namnet eller numret.

```
Response.Write("<OPTION>" & rstOmg("omgang") & "</OPTION>")
```

Ni kan bortse från det här inlägget jag hittade felet.

Det ska stå "Omg" i stället för "omgang".

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

## #13 — @nders, 2003-03-05T21:23Z

Det finns inget fält i ditt recordset som heter omgang. I SQL-frågan ovan ger du fältet alias omg, så det är det namnet du ska använda.

mvh

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

## #14 — Ralle, 2003-03-06T17:25Z

Okey, nu har jag fått drop'en att fungera.

Sen har jag en SQL med where.

```
WHERE omgang=valdomgang
```

Men den får inget värde. 

Hur får jag det?

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

## #15 — Pellefant, 2003-03-06T17:29Z

Om valdomgang är en sträng

```
....WHERE omgang=" & "'" valdomgang  "'"
```

Om valdomgang är en int

```
....WHERE omgang=" &  valdomgang
```

Tror jag, proffsen här får rätta om det är fel.

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

## #16 — solbulle, 2003-03-06T17:46Z

> **Pellefant skrev:**
>
> Om valdomgang är en sträng
>
>
> ```
> ....WHERE omgang=" & "'" valdomgang  "'"
> ```

```
....WHERE omgang='" &  valdomgang  & "'"
```

Du ser till att valdomgang får sitt värde genom:

```
 valdomgang  = request.form("valdomgang")
```

OM din selectlista/meny heter valdomgang.

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

## #17 — Ralle, 2003-03-06T18:03Z

Så här ser det ut:

```
     Response.Write("<SELECT name=""valdomgang"">")
     Do until rstOmg.EOF
          Response.Write("<OPTION>" &"Omgång " & rstOmg("Omg") & "</OPTION>")
          rstOmg.MoveNext
     Loop
     Response.Write("</SELECT>")
```

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

## #18 — Ralle, 2003-03-06T21:50Z

Jag har aldrig jobbar med dropdown förut, så det snällt om någon kunde visa var jag ska placera dom olika kodsnuttarna.

Så här ser slutet på SQL'en ut:

```
WHERE omgang=" & "'" valdomgang  "'" ORDER BY Datum
```

Jag får det här felet då:
    \* Feltyp:
      Kompileringsfel i Microsoft VBScript (0x800A0401)
Slut på programsats förväntas.

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

## #19 — solbulle, 2003-03-06T22:21Z

Som jag skrev, Pellefant hade missat ett &

```
WHERE omgang='" &  valdomgang  & "' ORDER BY Datum"
```

Samt om du inte fångar upp formuläret någon annastans kan du skriva så här:

```
WHERE omgang='" &  request.form("valdomgang")
& "' ORDER BY Datum"
```

Vidare skulle iofs jag vilja ändra din formulärskod till:

```
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>")
```

Om din databas är skapt som jag gissar att den är.
Vidare antar jag att du har sedvanlig kod för att posta formuläret med, samt ev. koll att värden finns för att köra din sqlsats även första gången någon besöker sidan.

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

## #20 — Ralle, 2003-03-06T22:32Z

Den där koden är den enda jag har, som har med dropdownen att göra.

Jag skrev ju att jag är en riktig nybörjare.

Jag har en tilldelningssats för att kunna köra första gången någon besöker sidan. Sen kollar den en IF för att välja mellan två olika SQL.

En som visar alla omgångar som finns inlagda o så den väljer omgång.

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

---

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