Ir para conteúdo

POWERED BY:

Arquivado

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

rafa-martin

Objeto com erro. Erro: objeto fechado

Recommended Posts

Bom, o que está acontecendo?Possuo uma tela que tem duas opções cnpj e farmacia. Quando eu digito o nome da farmacia e clico em ok aparece uma outra tela com os dados da farmacia. O código que uso é esse que está na outra tela(EdFarmacia.asp):varPesquisa = Request.Form("razao_social")String_SQL = "SELECT * FROM Cadastrofarmacia WHERE razao_social like '%" & varPesquisa & "%' "String_SQL = String_SQL & "ORDER BY Razao_Social"Set Conj_Registros = Banco.Execute(String_SQL)Até aí beleza.Agora se eu fizer essa sintaxa SQL:varPesquisa1 = Request.Form("cnpj_farmacia")String_SQL = "SELECT * FROM Cadastrofarmacia WHERE cnpj_farmacia = '%" & varPesquisa1 & "%' "String_SQL = String_SQL & "ORDER BY cnpj_farmacia"Set Conj_Registros = Banco.Execute(String_SQL)Aparece a outra tela só que com uma mensagem:"nenhum valor encontrado". Que é uma mensagem que eu coloquei se ele não passar pelo coprpo da página, que está citado mais abaixo. Agora se eu tirar essa sintaxe sql para o cnpj e deixar só a da farmacia, vai funcionar se seu digitar o nome da farmácia e vice-versa.Esse código é feito na tela que aparece os dados correspondes ao que foi digitado na tela anterior, que é onde tem as opções cnpj e nome da farmácia. Essa tela que tem essas opções está funcionando certinho.O problema é nessa tela que tem que aparecer os dados que é EdFarmacia.aspAí fiz uma condição:<%varPesquisa = Request.Form("razao_social")If varPesquisa = "1" ThenString_SQL = "SELECT * FROM Cadastrofarmacia WHERE razao_social like '%" & varPesquisa & "%' "String_SQL = String_SQL & "ORDER BY Razao_Social"Set Conj_Registros = Banco.Execute(String_SQL)End If%><%varPesquisa1 = Request.Form("cnpj_farmacia")If varPesquisa1 = "2" ThenString_SQL = "SELECT * FROM Cadastrofarmacia WHERE cnpj_farmacia = '%" & varPesquisa1 & "%' "String_SQL = String_SQL & "ORDER BY cnpj_farmacia"Set Conj_Registros = Banco.Execute(String_SQL)End If%>Só que ele está dando um erro: "Tipo de erro:ADODB.Recordset (0x800A0E78)Operação não permitida quando o objeto está fechado./ProjetoDesenvolvimentoSite/Web/Geral_1/EdFarmacia.asp, line 30"E esse erro é nessa linha:<%If Not Conj_Registros.EOF Then%>corpo da página htmlNão sei o que pode ser, porque quando eu faço essa condição acima começa o corpo da página <html> blá, blá...aí vem:<%Else%><font face="Arial" size="2"><b> Nenhum valor encontrado</b></font><%End If%>Alguém sabe porque acontece isso?Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem certeza que não fechou o objeto antes desta linha??

Compartilhar este post


Link para o post
Compartilhar em outros sites

absoluta:veja o meu código:<%Option Explicit%><!-- #Include File="Conexao.asp" --><%Dim varPesquisaDim varPesquisa1%><%varPesquisa = Request.Form("razao_social")If varPesquisaString_SQL = "SELECT * FROM Cadastrofarmacia WHERE razao_social like '%" & varPesquisa & "%' "String_SQL = String_SQL & "ORDER BY Razao_Social"Set Conj_Registros = Banco.Execute(String_SQL)End If%><%varPesquisa1 = Request.Form("cnpj_farmacia")If varPesquisa1.Value = ThenString_SQL = "SELECT * FROM Cadastrofarmacia WHERE cnpj_farmacia = '%" & varPesquisa1 & "%' "String_SQL = String_SQL & "ORDER BY cnpj_farmacia"Set Conj_Registros = Banco.Execute(String_SQL)End If%><%If Not Conj_Registros.EOF Then%><html><head><script language=Javascript> function validaMaiuscula(a) {if (a.value.charAt(0) == '9') { a.value = "000" + a.value; }a.value = a.value.toUpperCase();}</SCRIPT><script language="javascript">function Mascara (formato, keypress, objeto){cep = eval (objeto);telcom = eval (objeto);telfax = eval (objeto);// CEPif (formato=='cep'){separador = '-';conjunto1 = 5;if (cep.value.length == conjunto1){cep.value = cep.value + separador;}}// TELEFONE COMERCIALif (formato=='telcom'){separador = '-';conjunto1 = 4;if (telcom.value.length == conjunto1){telcom.value = telcom.value + separador;}}// TELEFONE FAXif (formato=='telfax'){separador = '-';conjunto1 = 4;if (telfax.value.length == conjunto1){telfax.value = telfax.value + separador;}}}</script><title>Metta Serviços de Vendas Ltda - Farmácia - Consulta / Edita</title></head><body vlink="blue" link="blue" bgcolor="#ffffff" background="fundo03.gif"><form name="Geral" action="AltFarmacia.asp" method="post"><table cellspacing="0" cellpadding="0" width="758" border="0"><tbody><tr><td valign="top" width="130">   <p><a href="Cliente.asp"><img height="24" src="botaocliente.gif" width="110" border="0" /></a> </p><!-- <p><a href="Farmacia_Dados.asp"><img height="24" src="botaofarmaciacadastrar.gif" width="110" border="0" /></a> </p> --><p><a href="SelFarmacia.asp"><img height="24" src="botaoconsultar.gif" width="110" border="0" /></a> </p><p><a href="SelTerrFarmacia.asp"><img height="24" src="botaolistar.gif" width="110" border="0" /></a> </p><p><a href="DefaultVisitas.asp"><img height="24" src="botaovisitas.gif" width="110" border="0" /></a> </p><p><a href="DefaultPedidos.asp"><img height="24" src="botaopedidos.gif" width="110" border="0" /></a> </p><p><a href="Default.asp"><img border="0" src="botaoinicial.gif" width="110" height="24"></a></p> </td><td><center><table style="WIDTH: 622px; HEIGHT: 402px" bordercolor="#00000" height="402" width="622" align="right" background="fundo-do-site.gif" border="2" valign="TOP"><tbody><tr><th>Consulta - Farmácia </th></tr><tr><td><table style="WIDTH: 608px; HEIGHT: 346px"><tbody><tr><td colspan="7"></td></tr><tr><td><strong>CNPJ:</strong></td><td><input readonly Value="<%=Conj_Registros("cnpj_farmacia")%>" style="WIDTH: 118px; HEIGHT: 22px" type="text" size="15" name="cnpj_farmacia" /></td><td><strong>Status:</strong></td><td><strong><input readonly Value="<%=Conj_Registros("status")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 95px; HEIGHT: 22px" type="text" size="11" name="status" /></strong></td></tr><tr><td><strong>Brick:</strong></td><td><input readonly Value="<%=Conj_Registros("brick1")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 118px; HEIGHT: 22px" type="text" size="16" name="brick1" /></td><td><strong>Categoria:</strong></td><td colspan="2"><input readonly Value="<%=Conj_Registros("categoria")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 95px; HEIGHT: 22px" type="text" size="10" name="categoria" />      <strong>Rede:</strong></td><td><strong><input readonly Value="<%=Conj_Registros("rede")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 118px; HEIGHT: 22px" type="text" size="12" name="rede" /></strong></td></tr><tr><td><strong>Razão Social:</strong></td><td colspan="6"><input readonly Value="<%=Conj_Registros("razao_social")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 498px; HEIGHT: 22px" type="text" size="46" name="razao_social" /></td></tr><tr><td><strong>Endereço:</strong></td><td colspan="3"><input readonly Value="<%=Conj_Registros("endereco")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 306px; HEIGHT: 22px" type="text" size="29" name="endereco" /></td><td><strong>Compl.:</strong></td><td><input readonly Value="<%=Conj_Registros("complemento")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 118px; HEIGHT: 22px" type="text" size="12" name="complemento" /></td></tr><tr><td><strong>CEP:</strong></td><td><input readonly Value="<%=Conj_Registros("cep")%>" onkeypress="Mascara('cep', window.event.keyCode, 'document.Geral.cep');" style="WIDTH: 118px; HEIGHT: 22px" type="text" size="14" name="cep" /></td><td><strong>Bairro:</strong></td><td><input readonly Value="<%=Conj_Registros("bairro")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 96px; HEIGHT: 22px" type="text" size="9" name="bairro" /></td><td><strong>Cidade:</strong></td><td colspan="2"><input readonly Value="<%=Conj_Registros("cidade")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 118px; HEIGHT: 22px" type="text" size="13" name="cidade" /></td></tr><tr><td><strong>UF:</strong></td><td><input readonly Value="<%=Conj_Registros("uf")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 65px; HEIGHT: 22px" type="text" size="8" name="uf" /></td><td><strong>Tel.Com:</strong></td><td><input readonly Value="<%=Conj_Registros("telcom")%>" onkeypress="Mascara('telcom', window.event.keyCode, 'document.Geral.telcom');" style="WIDTH: 97px; HEIGHT: 22px" type="text" size="10" name="telcom" /></td><td><strong>Tel.Fax:</strong></td><td colspan="2"><input readonly Value="<%=Conj_Registros("telfax")%>" onkeypress="Mascara('telfax', window.event.keyCode, 'document.Geral.telfax');" style="WIDTH: 118px; HEIGHT: 22px" type="text" size="13" name="telfax" /></td></tr><tr><td><strong>Email:</strong></td><td colspan="6"><input readonly Value="<%=Conj_Registros("email")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 306px; HEIGHT: 22px" type="text" size="29" name="email" /><strong>Territorio:</strong><input readonly Value="<%=Conj_Registros("codigo_brick")%>" onkeyup="validaMaiuscula(this);" style="WIDTH: 118px; HEIGHT: 22px" type="text" size="9" name="codigo_brick" /></td></tr><tr><td><strong>Obs:</strong></td><td colspan="6"><textarea readonly onkeyup="validaMaiuscula(this);" style="WIDTH: 497px; HEIGHT: 58px" name="obs" rows="2" cols="45"><%=Conj_Registros("obs")%></textarea></td></tr><!-- <tr><td align="middle" colspan="7"><input style="BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #000000 1px solid; PADDING-LEFT: 4px; FONT-WEIGHT: bold; PADDING-BOTTOM: 1px; BORDER-LEFT: #000000 1px solid; COLOR: #ffffff; PADDING-TOP: 1px; BORDER-BOTTOM: #000000 1px solid; BACKGROUND-COLOR: #ff0000" type="submit" value="Alterar" name="alterar" />  </td></tr> --></tbody></table><%Else%> <font face="Arial" size="2"><b> Nenhum valor encontrado</b></font><%End If%><%'If Request.QueryString("n") > 0 then 'Response.Write "<a href=" & Request.ServerVariables("SCRIPT_NAME") & "?n=" & Request.QueryString("n") - 1 & "><< Anterior</a>  "'End If 'Conj_Registros.MoveNext 'If Not Conj_Registros.EOF then 'Response.Write "  <a href=" & Request.ServerVariables("SCRIPT_NAME") & "?n=" & Request.QueryString("n") + 1 & ">Próximo >></a>" 'End If%></td></tr></tbody></table></center></td></tr></tbody></table><br /></form><center> <%'Banco.Close'Set Conj_Registros = Nothing'Set Banco = Nothing%></center></body></html>De uma olhadinha. Vê se pode me ajudar.Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então verifica se entra em um dos ifs que abre, pois pode nem ter aberto, poe um response.write dentro de cada if

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse código é onde eu clico na opção farmacia e aparece o campo texto ou clico na opção cnpj e apareceo campo texto.veja se isto é que está influenciando, acho que não. Porque se eu fizer na outra página somente o sql para puxar o nome da farmacia quando for digitado ele parace os dados normalmente, mas dá uma olhadinha aí.<input type="radio" name="razao_social" value="1" onClick="document.Farmacia.action='SelFarmacia.asp'; document.Farmacia.submit();"> <b>Nome</b><%op = Request.Form("razao_social")If op = "1" ThenResponse.Write("<input type=text name=razao_social>")End If %><br><input type="radio" name="cnpj_farmacia" value="2" onClick="document.Farmacia.action='SelFarmacia.asp'; document.Farmacia.submit();"> <b>CNPJ</b><%op = Request.Form("cnpj_farmacia")If op = "2" ThenResponse.Write("<input type=text name=cnpj_farmacia>")End If %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

em vez de

 

[tr][/tr][tr][/tr]
ASP

<%

varPesquisa = Request.Form("razao_social")

If varPesquisa

String_SQL = "SELECT * FROM Cadastrofarmacia WHERE razao_social like '%" & varPesquisa & "%' "

String_SQL = String_SQL & "ORDER BY Razao_Social"

Set Conj_Registros = Banco.Execute(String_SQL)

End If

%>

 

<%

varPesquisa1 = Request.Form("cnpj_farmacia")

If varPesquisa1.Value = Then

String_SQL = "SELECT * FROM Cadastrofarmacia WHERE cnpj_farmacia = '%" & varPesquisa1 & "%' "

String_SQL = String_SQL & "ORDER BY cnpj_farmacia"

Set Conj_Registros = Banco.Execute(String_SQL)

End If

%>

 

 

neste ponto devia ser algo assim

 

[tr][/tr][tr][/tr]
ASP

<%

 

IF request.Form("razao_social") <> "" THEN

varPesquisa = Request.Form("razao_social")

String_SQL = "SELECT * FROM Cadastrofarmacia WHERE razao_social like '%" & varPesquisa & "%' "

String_SQL = String_SQL & "ORDER BY Razao_Social"

ELSEIF Request.Form("cnpj_farmacia") <> "" THEN

varPesquisa = Request.Form("cnpj_farmacia")

String_SQL = "SELECT * FROM Cadastrofarmacia WHERE cnpj_farmacia = '%" & varPesquisa & "%' "

String_SQL = String_SQL & "ORDER BY cnpj_farmacia"

ELSE

String_SQL = "SELECT * FROM Cadastrofarmacia "

String_SQL = String_SQL & "ORDER BY Razao_Social"

END IF

 

Set Conj_Registros = Banco.Execute(String_SQL)

%>

 

bem assim provavelmente sempre terá dados...

Compartilhar este post


Link para o post
Compartilhar em outros sites

neste caso em vez de colocar varpesquisa e varpesquisa1 eu teria que colorcar a variável op que dei para os campo textos farmácia e cnpj, né?dessa forma:<%Dim op%><%op = Request.Form("razao_social")op = Request.Form("cnpj")%>Assim né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo, tem que ser o mesmo nome do campo do formulario

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.