Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernanda!!!

ADODB.Recordset error '800a0e78' - ?

Recommended Posts

Olá pessoal!

 

Tenho uma página que me retorna alguns valores, e eu tenho a possibilidade de convertê-los para formato Excel. A página apresenta os valores corretamente, porém, ao tentar convertê-los para Excel, o que aparece no arquivo é o seguinte:

 

ADODB.Recordset error '800a0e78'

Operation is not allowed when the object is closed.

/Administracao/adm_03_03_02.asp, line 89

Gerado no dia: 5/3/2008

Cod Prior. Criação Limite Tópico Status Solicitante Responsável

 

 

Segue abaixo o código da página na íntegra:

 

<%
task_status = Request("task_status")
func_cod	= Session("func_cod")
modo		= Request("modo")

if modo = "excel" then
	Response.Buffer = True
	Response.AddHeader "Content-Type","application/x-msdownload"
	Response.AddHeader "Content-Disposition","attachment; filename=planilha.xls"
	Response.Flush
end if

Set Intranet = Server.CreateObject("ADODB.Connection")
Intranet.open application("strConex")
Intranet.CursorLocation = 3

data_inicio = Request.Form("1_ano") & "-" & Request.Form("1_mes") & "-" & Request.Form("1_dia")
data_fim = Request.Form("2_ano") & "-" & Request.Form("2_mes") & "-" & Request.Form("2_dia")
opcao_relatorio = Request.Form("RadioGroup")
termo_busca = Trim(Request.Form("termoBusca"))	

Set rs = Intranet.Execute("dbo.s_relatorio_task_func '"& data_inicio &"','"& data_fim &"','"& func_cod &"','"& opcao_relatorio &"','"& termo_busca &"'")

if modo <> "excel" then %>

<html>
<head>
	<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<script language="javascript">
	function janela()
	{
		window.open('adm_03_03_02.asp?modo=excel','WINDOW','height=200,width=400');
	}
</script>

</head>
<!--#include file="../includes/inc_body.asp"-->

<%
nav_text1 =  "Tasks"
nav_link1 =  "adm_03.asp"
nav_targ1 =  "FR04"
nav_text2 =  "Por Prazo"
nav_link2 =  "adm_03_03.asp"
nav_targ2 =  "FR04"
nav_text3 =  "Relatório"
nav_link3 =  ""
nav_targ3 =  ""
%>
<!--#include File="../Includes/inc_navegador.asp" -->

<table width="100%" border="0" cellspacing="2" cellpadding="3" bgcolor="#C0C0C0" ID="Table4">
	<tr>
		<td><a href="java script:history.back(1)"><font face="Tahoma" size=2><b><< Voltar</b></font></a></td>
		<td align="right"><input type="button" value="Gerar Excel" onclick="java script:janela();"></td>
	</tr>
</table>
<%
end if
%>
<table width="100%" border="1" cellspacing="0" cellpadding="2" bordercolor="#C3D3F1" ID="Table2">
<%
	if modo = "excel" then
%>
	<tr>
		<td colspan="5" align="left"><font face="tahoma" size="2"><b>Gerado no dia: <%= FormatDateTime(now(), 2)%></b></font></td>
	</tr>
<%
	end if
%>
	<tr>
		<td align="left" bgcolor="#C3D3F1"><font face="Tahoma" size="1" color="#000000"><b>Cod</b></font></td>
		<td align="left" bgcolor="#C3D3F1"><font face="Tahoma" size="1" color="#000000"><b>Prior.</b></font></td>
		
		<td align="left" bgcolor="#C3D3F1"><font face="Tahoma" size="1" color="#000000"><b>Criação</b></font></td>
		<td align="left" bgcolor="#C3D3F1"><font face="Tahoma" size="1" color="#000000"><b>Limite</b></font></td>
		
		<td align="left" bgcolor="#C3D3F1"><font face="Tahoma" size="1" color="#000000"><b>Tópico</b></font></td>
		<td align="left" bgcolor="#C3D3F1"><font face="Tahoma" size="1" color="#000000"><b>Status</b></font></td>
		<td align="left" bgcolor="#C3D3F1"><font face="Tahoma" size="1" color="#000000"><b>Solicitante</b></font></td>
		<td align="left" bgcolor="#C3D3F1"><font face="Tahoma" size="1" color="#000000"><b>Responsável</b></font></td>
	</tr>
<%
If NOT rs.EOF then
	reg = ""
	do while NOT rs.EOF
		regAnt = reg
		reg = rs("task_cod")
		if regAnt <> reg then
			bgcolor = "FFFFFF" %>
			<tr bgcolor=<%= bgcolor %>>
				<td align="left" bgcolor="<%=bgcolor%>"><font face="Tahoma" size="1" color="000000"><%=rs("task_cod")%></font></td>
					<% Select case rs("task_prioridade")
							Case 1 %><td align="center" bgcolor="<%= bgcolor %>"><font face="Tahoma" size="1" color="FF0000">Urgente
					<%		Case 2 %><td align="center" bgcolor="<%= bgcolor %>"><font face="Tahoma" size="1" color="BFBF04">Alta
					<%		Case 3 %><td align="center" bgcolor="<%= bgcolor %>"><font face="Tahoma" size="1" color="04AF04">Moder.
					<%		Case 4 %><td align="center" bgcolor="<%= bgcolor %>"><font face="Tahoma" size="1" color="000000">Baixa
					<% End Select %>
				</td>
				
				<td align="left" bgcolor="<%= bgcolor %>"><font face="Tahoma" size="2"><%= FormatDateTime(rs("task_data_criacao"), 2) %></b> </td>
				<td align="left" bgcolor="<%= bgcolor %>"><font face="Tahoma" size="2"><%= FormatDateTime(rs("task_data_limite"), 2) %></b> </td>
				
				
				<td align="left" bgcolor="<%= bgcolor %>"><font face="Tahoma" size="2"><%if modo <> "excel" then%><a href="adm_03_01.asp?cod=<%= rs("task_cod") %>" style="color: #000000;" onmouseover="this.className='textBlueOn'" onmouseout="this.className='textBlueOff'"><%end if%><%= rs("task_topico") %></b></td>
				<td align="right" bgcolor="<%= bgcolor %>"><font face="Tahoma" size="1"><%= rs("tipo_task_status_descr")%></td>
				<td align="right" bgcolor="<%= bgcolor %>"><font face="Tahoma" size="1"><%= rs("func_solicitante") %></td>
				<td align="right" bgcolor="<%= bgcolor %>"><font face="Tahoma" size="1"><%= rs("func_responsavel") %></td>
			</tr>
	<%	end if		
		rs.MoveNext
	loop
end if
rs.Close : set rs = Nothing
%>
</table>
<%
if modo <> "excel" then	
%>
</body>
</html>
<%
end if
Intranet.Close : set Intranet = Nothing
%>

Bem, sinceramente, não entendi o porque do erro só quando eu transformo para Excel, uma vez que ela é recarregada e o rs é aberto novamente...

 

 

Agradeço qualquer lanterninha de 1W que você puderem acender para me ajudar nisso. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se neste arquivo você não está fechando o recordset

Includes/inc_navegador.asp

 

favor citar a linha 89 para facilitar a identificação

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você está imprimindo apenas as linhas quando tem registro, torna-se desnecessário a verificação do condicional IF.

Remova o If NOT rs.EOF then e o End IF e veja se irá rodar normalmente.

Caso não rode, troque o "do while NOT rs.EOF" por "While NOT rs.EOF" e o "Loop" por "Wend".

 

Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.