---
title: "välj ny tabell i dropdown"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/176148-välj-ny-tabell-i-dropdown"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Siluett"
published: "2009-01-02T10:05:15.000Z"
updated: "2009-01-03T12:58:46.000Z"
replies: 16
views: 606
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/176148-välj-ny-tabell-i-dropdown"
---

# välj ny tabell i dropdown

## #1 — Siluett, 2009-01-02T10:05Z

Hej!

hoppas någon kan hjälpa mig med språket här. jag har en dropdown där jag väljer ett värde, som finns i kolumnen y i tabellen x. när jag väljer denna vill jag öppna tabellen med samma namn och loopa fram all data. 
så hur skriver jag det där select \* from \*what?\* grejen?

exempel:
om jag väljer ordet tomat i tabellen grönsaker, så vill jag öppna hela tabellen tomat. 

hoppas någon kan hjälpa mig :-)

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

## #2 — Eclipse, 2009-01-02T11:10Z

SELECT intID FROM \[users\];

Skriv in din kod manuellt först. Då ser du resultatet som du vill skapa.

Sen gör du din loop och med den data eller de funktioner du vill ha.

Det kan vara svårt att skapa data... om man inte riktigt vet vad det är man vill skapa!

Men du vet ju resultatet. Så börja med resutatet, så det fungerar. Sen skapar du resutatet dymaniskt och det bör då rimligen också fungera, om du gjort rätt från början.

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

## #3 — Siluett, 2009-01-02T12:23Z

jaha, ok....

nu vet jag inte riktigt hur du menar. hur ska jag kunna skriva ut vad jag vill ha om jag inte ens vet hur jag ska öppna rätt tabell?

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

## #4 — doggelito, 2009-01-02T14:52Z

Hm, jag förstår inte riktigt vad du skriver!? :)

> **Siluett skrev:**
>
> om jag väljer ordet tomat i tabellen grönsaker, så vill jag öppna hela tabellen tomat.

Heter tabellen tomat eller grönsaker?
Det blir inge vidare "finkod" men för att dynamiskt välja tabell så hämtar du bara via Request.Form("ddl"), ex.

```
"SELECT * FROM " & Request.Form("ddl")
```

Problemet sen är att du inte vet kolumnnamnen så då blir det till att använda index:

```
If Not objRs.Eof Then
     Response.Write(objRs(0))
End If
```

För att visa samtliga kolumner loopar du från 0 till kolumnindex (kommer inte ihåg vad den heter med ado, du får leta på propertyn för den).

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

## #5 — @nders, 2009-01-02T15:00Z

Det ska inte vara apostrofer runt tabellnamnet som doggelito råkade få in i sin kod. Han vet bättre än så - bidde säkert ett litet misstag! ;)

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

## #6 — doggelito, 2009-01-02T16:28Z

Klart det inte ska vara några apostrofer, får skylla på att det är fredag och har kopplat ifrån programmeringshjärnan!   :D 
(har ändrat inlägget ovan)

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

## #7 — Siluett, 2009-01-02T17:00Z

> **doggelito skrev:**
>
> Hm, jag förstår inte riktigt vad du skriver!? :)
>
>
> > **Siluett skrev:**
> >
> > om jag väljer ordet tomat i tabellen grönsaker, så vill jag öppna hela tabellen tomat.
>
> Heter tabellen tomat eller grönsaker?
> Det blir inge vidare "finkod" men för att dynamiskt välja tabell så hämtar du bara via Request.Form("ddl"), ex.
>
> ```
> "SELECT * FROM " & Request.Form("ddl")
> ```
>
> 
> Problemet sen är att du inte vet kolumnnamnen så då blir det till att använda index:
>
> ```
> If Not objRs.Eof Then
>      Response.Write(objRs(0))
> End If
> ```
>
> 
> För att visa samtliga kolumner loopar du från 0 till kolumnindex (kommer inte ihåg vad den heter med ado, du får leta på propertyn för den).

stort tack! visst väl att det fanns ngn sådan request grej :-) 
grejen är att det finns flera tabeller :-)

vad betyder ddl?

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

## #8 — @nders, 2009-01-02T17:09Z

> **Siluett skrev:**
>
> vad betyder ddl?

Det torde betyda "drop down list" - men det spelar inte så stor roll. Ersätt ddl med namnet på din dropdown i formuläret.

mvh

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

## #9 — Siluett, 2009-01-02T18:33Z

> **@nders skrev:**
>
> Det torde betyda "drop down list" - men det spelar inte så stor roll. Ersätt ddl med namnet på din dropdown i formuläret.
> 
> mvh

Aha, just det!

Provar lite. redan problem.... jag får "expected end of statement" på just ddl....

Min kod:

\<%
  Set objConn = Server.CreateObject("ADODB.Connection")

  strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("stofamiljer.mdb")
  objConn.Open strConn
%\>

\<form method="POST" action="adminstofamilj.asp"\>
\<p\>\<select name="ddl"\>

\<%

  strSQL = "SELECT namn FROM familjer"

  Set RecSet = objConn.Execute(strSQL)

Do While Not RecSet.EOF

%\>
	
	\<option value="\<%= RecSet("namn") %\>"\>\<%= RecSet("namn") %\>\</option\>
	
\<%
RecSet.MoveNext
loop
Set RecSet = Nothing

%\>

\</select\>
\<input type="submit" value="Administrera"\>
\</form\>

\<p\>

\<%

  strSQL = "SELECT namn, född, färg FROM Request.Form("ddl")"

  Set RS = objConn.Execute(strSQL)

Do While Not RS.EOF

Set namn = Conn.Execute("Select id From Request.Form("ddl") Where namn='"&RS("namn")&"'")
	
Response.Write("\<b\>\<a href="stofamiljer.asp?do=visa&id=" & namn("id") & "\>" & RS("namn") & "\</a\>\</b\> " & RS("född") & ", " & RS("färg") & " \<br\>")

RS.MoveNext
loop
Set RS = Nothing

objConn.Close
%\>

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

## #10 — doggelito, 2009-01-02T18:49Z

```
strSQL = "SELECT namn, född, färg FROM " & Request.Form("ddl")
```

```
Set namn = Conn.Execute("Select id From " & Request.Form("ddl") & " Where namn='"&RS("namn")&"'")
```

Använd kodtaggar \[code\] när du klistrar in kod så blir det lättare att se! :)

Sen behövs väl inte den andra hämtningen om du lägger med id:t i den första istället!?

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

## #11 — Siluett, 2009-01-02T19:30Z

> **doggelito skrev:**
>
> ```
> strSQL = "SELECT namn, född, färg FROM " & Request.Form("ddl")
> ```
>
> 
>
>
> ```
> Set namn = Conn.Execute("Select id From " & Request.Form("ddl") & " Where namn='"&RS("namn")&"'")
> ```
>
> 
> Använd kodtaggar 
>
> ```
>  när du klistrar in kod så blir det lättare att se! :)
> 
> Sen behövs väl inte den andra hämtningen om du lägger med id:t i den första istället!?[/QUOTE]
> 
> 
> men ska det inte stå mer i slutet på sql-taggen?
> 
> skriver jag:
> [code]SQL = "SELECT id, namn, född, färg FROM " & Request.Form("ddl") & ""
> ```
>
> 
> eller som du 
>
> ```
> SQL = "SELECT id, namn, född, färg FROM " & Request.Form("ddl")"
> ```
>
> 
> så får jag felmedd Syntax error in FROM clause. 
> 
> skriver jag:
>
>
> ```
> SQL = "SELECT id, namn, född, färg FROM " & Request.Form("ddl") &"
> ```
>
>  så får jag Unterminated string constant 
> 
> 
> hur ska det bli rätt?

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

## #12 — doggelito, 2009-01-02T20:21Z

> **Siluett skrev:**
>
> men ska det inte stå mer i slutet på sql-taggen?

Nej, varför bygga på med en tom sträng? :)
Problemet är förmodligen när du kommer in på sidan, då är Request.Form("ddl") tom och då blir strängen:

```
SQL = "SELECT id, namn, född, färg FROM "
```

Du får kolla med en IF-sats så att ett värde finns från droplisten:

```
If len(Request.Form("ddl")) >0 Then
     strSQL = "SELECT namn, född, färg FROM " & Request.Form("ddl")
     Set RS = objConn.Execute(strSQL)
     Do While Not RS.EOF
     ...
End If
```

Det gör nog susen! :)

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

## #13 — Siluett, 2009-01-03T11:22Z

> **doggelito skrev:**
>
> > **Siluett skrev:**
> >
> > men ska det inte stå mer i slutet på sql-taggen?
>
> Nej, varför bygga på med en tom sträng? :)
> Problemet är förmodligen när du kommer in på sidan, då är Request.Form("ddl") tom och då blir strängen:
>
> ```
> SQL = "SELECT id, namn, född, färg FROM "
> ```
>
> 
> Du får kolla med en IF-sats så att ett värde finns från droplisten:
>
> ```
> If len(Request.Form("ddl")) >0 Then
>      strSQL = "SELECT namn, född, färg FROM " & Request.Form("ddl")
>      Set RS = objConn.Execute(strSQL)
>      Do While Not RS.EOF
>      ...
> End If
> ```
>
> 
> 
> Det gör nog susen! :)

Nä, det gjorde det inte :-)

```
If len (Request.Form("urval")) >0 Then
  SQL = "SELECT id, namn, född, färg FROM " & Request.Form("urval")
  Set RS = objConn.Execute(SQL)

If RS.EOF Then
	Response.Write("<a href=laggtill.asp>Lägg till häst</a>")
Else
	
Do While Not RS.EOF
	
Response.Write("<b><a href=stofamiljer.asp?do=visa&id=" & namn("id") & ">" & RS("namn") & "</a></b> " & RS("född") & ", " & RS("färg") & " <br>")

RS.MoveNext
loop
Set RS = Nothing

End If
End If
```

Fortfarande Syntax error in FROM clause.

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

## #14 — doggelito, 2009-01-03T12:01Z

Hur ser strängen ut om du printar sqlsatsen?

```
SQL = "SELECT id, namn, född, färg FROM " & Request.Form("urval")
Response.Write(SQL)
Response.End()
```

Sen kan du ändra två smågrejjer:
1\. namn("id") -\> RS("id")
2\. Flytta ner raden: *Set RS = Nothing* före sista *End If*.

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

## #15 — Siluett, 2009-01-03T12:23Z

> **doggelito skrev:**
>
> Hur ser strängen ut om du printar sqlsatsen?
>
>
> ```
> SQL = "SELECT id, namn, född, färg FROM " & Request.Form("urval")
> Response.Write(SQL)
> Response.End()
> ```

jo, då skriver den ut sql-satsen med värdet från dropdownen efter from.

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

## #16 — doggelito, 2009-01-03T12:49Z

Kanske kolumnnamnen som spökar då, testa detta:

```
SQL = "SELECT [id], [namn], [född], [färg] FROM " & Request.Form("urval")
```

Sen undrar jag varför du har tabeller med samma kolumner i? Hade det inte varit enklare med bara en tabell?

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

## #17 — Siluett, 2009-01-03T12:58Z

> **doggelito skrev:**
>
> Kanske kolumnnamnen som spökar då, testa detta:
>
> ```
> SQL = "SELECT [id], [namn], [född], [färg] FROM " & Request.Form("urval")
> ```
>
> 
> 
> Sen undrar jag varför du har tabeller med samma kolumner i? Hade det inte varit enklare med bara en tabell?

ska testa det. 
nej det är inte alls samma kolumner i tabellerna. 
skulle väl iof kunna ha en tabell men då blir det ju flera tusen objekt när jag har fyllt i allt..... därför tycker jag det är lättare att ha det lite uppdelat :-)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/176148-välj-ny-tabell-i-dropdown
