---
title: "Hämta värden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/8529-hämta-värden"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "webbmannen"
published: "2001-03-14T15:08:00.000Z"
updated: "2001-03-14T17:48:00.000Z"
replies: 8
views: 328
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/8529-hämta-värden"
---

# Hämta värden

## #1 — webbmannen, 2001-03-14T15:08Z

Gammal grej som jag inte får att fungera.

Sidan med den här koden visar snällt upp alla företag som finns i databasen:

```
<form action="edit.asp" method="post">
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=sökvägen"
SQL = "SELECT (company) AS ftg FROM retailer"
rs.Open SQL, Connect
%>
<select name="F&Ouml;retag" size="7" multiple>
<%
Do While Not rs.EOF
%>
<option value="<%=rs("ftg")%>" name="ftg"><%=rs("ftg")%>
<%
rs.MoveNext
Loop
%>
</select>
<input type="submit" value="H&auml;mta f&ouml;retagets uppgifter">
</form>
```

När jag sedan klickar på knappen så är det meningen att jag ska komma till edit.asp med det valda företagets uppgifter ifyllda. Jag möts då av felmeddelandet:

> Microsoft VBScript runtime error '800a01a8'
> Object required: ''
> /pages/register/edit.asp, line 46

Sidan edit.asp ser i sina väsentliga delar ut så här:

```
<form action="execute.asp" method="post">
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=sökvägen"

SQL = "SELECT * FROM retailer WHERE company ='" & Request("ftg") & "'"
Set rs = Connection.Execute(SQL)
%>
<input type="hidden" value="<%=rs("ID")%>" name="ID">
<input type="text" name="company" value="<%=rs("company")%>"
<select name="country">
<option value="<%=rs("country")%>" selected><%=rs("country")%>
<option value="Sverige" >Sverige
<option value="Norge">Norge
<option value="Danmark">Danmark
<option value="Finland">Finland
</select>
<select name="region">
<option value="<%=rs("region")%>" selected><%=rs("region")%>
<option value="Landet" >Landet
<option value="Syd">Syd
<option value="Mitt">Mitt
<option value="Nord">Nord
</select>
<input type="text" name="visit_address" value="<%=rs("visit_address")%>">
<input type="text" name="post_number" value="<%=rs("post_number")%>">
<input type="text" name="post_address" value="<%=rs("post_address")%>">
<input type="text" name="telephone" value="<%=rs("telephone")%>">
<input type="text" name="fax" value="<%=rs("fax")%>">
<input type="text" name="epost" value="<%=rs("epost")%>">
<input type="text" name="url" value="<%=rs("url")%>">
<input type="submit" value="Redigera denna &aring;terf&ouml;rs&auml;ljare">
</form>
```

Vad är det som felar? Det känns som att Request("ftg") inte gör det jag hoppats.

/webb

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

## #2 — Vide, 2001-03-14T15:33Z

Du använder ett obefintligt objekt (Connection), använd Connect:

Set rs = Connect.Execute(SQL)

\[r\]Varför skapar du ett recoredset?\[/r\]

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

## #3 — @nders, 2001-03-14T15:35Z

sedan skapar du recordsetet två gånger.

```
<%
Set Connect = Server.CreateObject("ADODB.Connection")
[b]Set rs = Server.CreateObject("ADODB.Recordset")[/b]
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=sökvägen"
SQL = "SELECT * FROM retailer WHERE company ='" & Request("ftg") & "'"
[b]Set rs = Connection.Execute(SQL)[/b]
%>
```

jag föreslår att du skippar den första av de två. :)

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

## #4 — webbmannen, 2001-03-14T16:44Z

Vådan av att klippa och klistra gjorde att det blev onödigt mycket fel :h

Fortfarande fungerar det dock inte. Jag har justerat till:

```
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=sökvägen"

SQL = "SELECT * FROM retailer WHERE company ='" & Request("ftg") & "'"
Set rs = Connect.Execute(SQL)
%>

<input type="text" name="company" value="<%=rs("company")%>">

plus fortsättningen....
```

Vide,
Jag trodde jag behövde ett Recordset för att plocka ut uppgifterna med tex rs("company") - fel eller?

Nu har jag ett felmeddelande som ser ut så här:

> Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

Är det så att jag inte lyckas få med mig företagsnamnet från föregående sida eller?

/webb

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

## #5 — Vide, 2001-03-14T16:47Z

rs skapas iom att du exekverar din SQL-sträng... :)

Felmeddelandet säger att det inte finns några poster att hämta ur rs...

Du kan göra en ifsats:

If NOT rs.EOF then
'det finns poster
Else
'det finns inga poster
End if

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

## #6 — webbmannen, 2001-03-14T16:57Z

Ok, då fattar jag detta med rs (hoppas jag) :)

Men varför säger den att det inte finns någon post att hämta ur? Det företag jag väljer på föregående sida existerar ju, annars hade jag inte fått upp det redan där??

/webb

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

## #7 — @nders, 2001-03-14T17:03Z

ok, din selectbox som jag antar att du vill hämta ifrån (varför är den multiple, förresten?) heter *FÖretag*, men när du skapar din sql-fråga hämtar du in *ftg* med request. jag föreslår att du byter namn på din selectbox till ftg, så ska det nog lösa sig. :)

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

## #8 — webbmannen, 2001-03-14T17:39Z

@nders,
Ditt skarpa öga var säkert en av förklaringarna till att jag nu fått det till att fungera :) En annan var att ändra till följande

```
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=sökvägen"

SQL = "SELECT * FROM retailer WHERE company ='" & Request("ftg") & "'"
rs.Open SQL, Connect
%>
```

Nu é man go och glad en stund igen :)
Tack för hjälpen !

/webb

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

## #9 — @nders, 2001-03-14T17:48Z

varsågod!

bara så du vet kan du ändra tebaks igen om du vill, för det gör ingen som helst skillnad. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/8529-hämta-värden
