[ASP] Recordset Openen Binnen Recordset

Pagina: 1
Acties:

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Ik probeer een recordset te openen met waarden uit een andere recordset, de code ziet er als volgt uit.
<!-- #Include File="inc_config.asp" -->

<html>

<head>
<!-- #Include File="inc_style.asp" -->
</head>

<body topmargin="0" leftmargin="0">

<%
dim RSsubmenu, sqlsubmenu

'verbinding openen
Con.Open ConString,"",""

'string aanmaken
sqlstring = "Select * From menu Order By volgorde"

'verbinding aan recordset toekennnen
RS.ActiveConnection = Con

'recordset openen
RS.Open sqlstring

Set RSsubmenu = Server.CreateObject ("ADODB.Recordset")

RSsubmenu.ActiveConnection = Con
%>

<table border="0" width="100%" cellspacing="7" cellpadding="0">

<%
While Not RS.Eof

rsmenuitem = RS("menuitem")
%>

<tr>
<td width="150" valign="top" align="left">
<b><%=RS("menuitem")%></b><br>
<table cellspacing="0" cellpadding="0" align="center">
<tr>
<td>

<table><tr>
<td>
<a href="menuform.asp?actie=1">[img]"images/nieuw.gif"[/img]</a>
</td>

<td><a href="menuform.asp?actie=2&ID=<%=RS("ID")%>">[img]"images/wijzig.gif"[/img]</a>
</td>

<td>
<a href="menubeheer.asp?ID=<%=RS("ID")%>&actie=3&menugroep=<%=RS("menuitem")%>">[img]"images/verwijder.gif"[/img]</a>
</td>
</tr></table>

</td>
</tr>
</table>
Volgorde: <%=RS("volgorde")%>
</td>

<td width="609" valign="top" align="left" style="text-align: justify">
<%
Response.Write (Replace (RS("omschrijving"),chr(13),"<br>"))
%>

</td>

<td>
Actief:

<%=RS("actief")%>

</td>
</tr>


<%
sqlsubmenu = "Select * From submenu Where menugroep Like '" & rsmenuitem & "' Order By volgorde"

RSsubmenu.Open sqlsubmenu

While Not RSsubmenu.Eof
%>



<tr>
<td width="150" valign="top" align="left">
<b><%=RSsubmenu("menuitem")%></b><br>
<table cellspacing="0" cellpadding="0" align="center">
<tr>
<td>

<table><tr>
<td>
<a href="menuform.asp?actie=1">[img]"images/nieuw.gif"[/img]</a>
</td>

<td><a href="menuform.asp?actie=2&ID=<%=RSsubmenu("ID")%>">[img]"images/wijzig.gif"[/img]</a>
</td>

<td>
<a href="menubeheer.asp?ID=<%=RSsubmenu("ID")%>&actie=3&menugroep=<%=RSsubmenu("menuitem")%>">[img]"images/verwijder.gif"[/img]</a>
</td>
</tr></table>

</td>
</tr>
</table>
Volgorde: <%=RSsubmenu("volgorde")%>
</td>

<td width="609" valign="top" align="left" style="text-align: justify">
<%
Response.Write (Replace (RSsubmenu("omschrijving"),chr(13),"<br>"))
%>

</td>

<td>
Actief:

<%=RSsubmenu("actief")%>

</td>
</tr>


<%
RSsubmenu.MoveNext

Wend

RS.MoveNext

Wend
%>

</table>
</body>
</html>

<%
RSsubmenu.Close
RS.Close
Con.Close
%>
Wanneer ik dit uitvoer krijg ik echter de volgende foutmelding:
Soort fout:
ADODB.Recordset (0x800A0E79)
De bewerking is niet toegestaan als het object geopend is.
/ch/beheer/menuweergave.asp, line 84
Ik heb hier al het een en ander over gelezen, maar nog niet echt een duidelijke oplossing voor gevonden.

De bedoeling van het geheel is trouwens het creeeren een menu met submenu, het idee was deze uit verschillende tabellen te halen, want, dat maakt het in mijn ogen makkelijker aan te passen.

Weet iemand misschien hoe je wel een recordset binnen een recordset kan openen.

BVD

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Je moet je RSsubmenu sluiten voordat je naar het volgende item in RS springt. Nu open je een RSsubmenu, loopt em door, gaat naar volgende menu item, opent een RSsubmenu. Die was al open -> foutmelding.
code:
1
SELECT menu.*, submenu.* FROM menu INNER JOIN submenu ON menu.menuitem = submenu.menugroep ORDER BY menu.volgorder ASC, submenu.volgorde ASC;"

Dit zou't ook moeten doen in 1 statement, denk ik. :o

Bdw, gebruik de [code] tag volgende keer. ;)

Verwijderd

volgens mij moet je voor de movenext van je resultset : RS
de recordset RSsubmenu sluiten met
RSsubmenu.Close

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Thnx, stom stom stom dat ik er zelf niet aan dacht! :o

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!