---
title: "Recordsetstrul"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/46042-recordsetstrul"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Gein"
published: "2002-06-16T20:47:33.000Z"
updated: "2002-06-16T22:38:27.000Z"
replies: 13
views: 216
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/46042-recordsetstrul"
---

# Recordsetstrul

## #1 — Gein, 2002-06-16T20:47Z

```
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("knivbas.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT bt.namn, bt.id as tid, bg.id, bg.titel FROM bilder_typ bt, bilder_grupp bg WHERE bt.id = bg.sektion ORDER BY bg.sektion ASC"
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
lasttyp = ""
Do until RecSet.EOF
    if not lasttyp = RecSet("tid") then
        lasttyp = RecSet("tid")
        %>
        <br/><b><%=RecSet("namn")%></b><br/>
        <%
    end if
    SQL2 = "SELECT count(*) as totalt FROM bilder WHERE gid='"&RecSet("id")&"'"
    *rs.Open SQL2, Connect, adOpenStatic, adLockOptimistic
    'Response.Write SQL2
    %>
    <a href="pics_more.asp?gid=<%=RecSet("id")%>"><%=RecSet("titel")%></a> - (<%'=rs("totalt")%> bilder)<br/>
<%
    RecSet.MoveNext
Loop

RecSet.Close
rs.Close
Connect.Close
Set Connect = Nothing
```

Felmeddelande på den rad som jag har markerat med en \*.

> Feltyp:
> ADODB.Recordset (0x800A0E79)
> Åtgärden är inte tillåten när objektet är öppet.
> /pics.asp, line 73

vad är felet?

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

## #2 — Tobbster, 2002-06-16T20:51Z

Här försöker du öppna recordsetet varje varv i loopen ......

```
*rs.Open SQL2, Connect, adOpenStatic, adLockOptimistic
```

då måste du ju stänga det efter varje varv också !!!!!!

Fattar du vad jag menar !

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

## #3 — Gein, 2002-06-16T20:52Z

ahaaa, ja just ja! 
va dum jag är, jag provar!

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

## #4 — Jesper T, 2002-06-16T20:52Z

Jag tror att du inte skall lägga detta i loopen:

```

    SQL2 = "SELECT count(*) as totalt FROM bilder WHERE gid='"&RecSet("id")&"'"
    *rs.Open SQL2, Connect, adOpenStatic, adLockOptimistic
    'Response.Write SQL2
```

MVH Jesper

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

## #5 — Gein, 2002-06-16T20:54Z

funkade såklart utmärkt!
Tackar!

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

## #6 — Gein, 2002-06-16T20:55Z

> **Jesper T skrev:**
>
> Jag tror att du inte skall lägga detta i loopen:
>
>
> ```
> 
>     SQL2 = "SELECT count(*) as totalt FROM bilder WHERE gid='"&RecSet("id")&"'"
>     *rs.Open SQL2, Connect, adOpenStatic, adLockOptimistic
>     'Response.Write SQL2
> ```
>
> 
> 
> MVH Jesper

jo, det ska vara innanför loopen

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

## #7 — Jesper T, 2002-06-16T20:59Z

Ja, ha.

Förlåt då! :r

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

## #8 — Gein, 2002-06-16T21:06Z

> **Jesper T skrev:**
>
> Ja, ha.
> 
> Förlåt då! :r

 ;)  :f

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

## #9 — solbulle, 2002-06-16T22:12Z

Fast hur som helst vore det väl onekligen bäst med en join mellan databaserna och hämta allt i en öppning, om det är möjligt,  i stället för att öppna o stänga som en liten tok.
Fråga dock inte mig hur den joinen skall se ut...

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

## #10 — Gein, 2002-06-16T22:14Z

Jag vet inte exakt hur join funkar, men det är väl att man kopplar ihop tabeller, och det har jag ju redan gjort.
Jag tror jag är tvungen att öppna o stänga "som en tok" precis som jag gör just nu faktiskt :)

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

## #11 — solbulle, 2002-06-16T22:22Z

Ja, men se det har du ju! :)
Njo, det jag tänkt var att kan man inte få reda på antalet bilder (din count) i den första frågan direkt?
Men som sagt, det kanske inte går och hur som helst vet inte jag hur det skulle gå till. Bara en tanke.

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

## #12 — Jesper T, 2002-06-16T22:25Z

funkar det inte med recset.recordcount i loopen?

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

## #13 — LarsG, 2002-06-16T22:31Z

Gör en skalär subselect, vetja.

```
SQL = "SELECT bt.namn, bt.id as tid, bg.id, bg.titel, " & _
" (SELECT count(*) FROM bilder WHERE gid=bg.id ) as totalt " & _
" FROM bilder_typ bt, bilder_grupp bg " & _
" WHERE bt.id = bg.sektion " & _
" ORDER BY bg.sektion ASC"
```

Borde gå bra om du inte har soppat till det med datatyperna ;)

Har dessa två, gid och bg.id, samma datatyp?

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

## #14 — Jesper T, 2002-06-16T22:38Z

skalär subselect
Visste inte äns att ordet existerade... :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/46042-recordsetstrul
