GeinMedlem sedan sep. 20005 700 inlägg 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?
TobbsterMedlem sedan mars 2001309 inlägg 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 !
GeinMedlem sedan sep. 20005 700 inlägg ahaaa, ja just ja!
va dum jag är, jag provar!
Jesper TMedlem sedan nov. 20017 144 inlägg 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
GeinMedlem sedan sep. 20005 700 inlägg funkade såklart utmärkt!
Tackar!
GeinMedlem sedan sep. 20005 700 inlägg
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
solbulleMedlem sedan mars 20015 287 inlägg 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...
GeinMedlem sedan sep. 20005 700 inlägg 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 :)
solbulleMedlem sedan mars 20015 287 inlägg 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.
Jesper TMedlem sedan nov. 20017 144 inlägg funkar det inte med recset.recordcount i loopen?
LarsGMedlem sedan dec. 200012 464 inlägg 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?
Jesper TMedlem sedan nov. 20017 144 inlägg skalär subselect
Visste inte äns att ordet existerade... :)