Article ID: 194005
Article Last Modified on 3/14/2005
SELECT type, price, advance FROM titles ORDER BY type COMPUTE SUM(price), SUM(advance) BY typeIf you create a recordset based on this SQL statement, and if you loop through the recordset, you can only see the columns specified in the SELECT clause. This is because ADO returns the results of a query with a COMPUTE statement as multiple recordsets. To get the summary rows, you must loop through each recordset from the multiple recordsets.
<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD>
<TITLE>Compute Row results</TITLE>
</HEAD>
<BODY>
<%
sql="SELECT price, advance,type FROM titles "
sql= sql & "ORDER BY type, price "
sql= sql & "COMPUTE SUM(price), SUM(advance) BY type "
sql= sql & "COMPUTE SUM(price), SUM(advance)"
set conn = Server.CreateObject("ADODB.Connection")
' Modify the connection string to reflect your
' Data Source Name (DSN).
conn.open "Pubs","sa",""
set cmd = Server.CreateObject("ADODB.Command")
cmd.CommandText = sql
set cmd.ActiveConnection = conn
set rs = Server.CreateObject("ADODB.Recordset")
set rs = cmd.Execute
%>
<table>
<%count = 1
Do Until rs Is Nothing%>
<tr>
<%For x=0 to rs.Fields.count-1%>
<td><b><%response.write rs(x).name%> </b><hr></td>
<%next%>
</tr>
<%Do While Not rs.EOF%>
<tr>
<%For x=0 to rs.Fields.count-1%>
<td><%=rs(x).value%></td>
<%next%>
</tr>
<%rs.MoveNext
Loop
Set rs = rs.NextRecordset
count = count + 1
Loop
%>
</table>
</BODY>
</HTML>
182290 HOWTO: Return Multiple Recordsets with Column Names and Values
Keywords: kberrmsg kbhowto kbscript kbcodesnippet kbdatabase KB194005