Ir para conteúdo

POWERED BY:

Arquivado

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

securityBR

Erro de execução

Recommended Posts

Boa tarde pessoal!!!

 

Estou desenvolvendo um sistema de busca para um sistema de cadastro mais esta retornando o seguinte erro quando tento efetuar a busca:

 

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A01A8)

Objeto necessário: 'rsEmps'

/funcionario/html/busca.asp, line 16

 

 

Segue o codigo da página busca.asp

_________________________________________________

 

<%
set conn = server.createobject ("adodb.connection")
	conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("../bd.mdb")
if Request.QueryString("view") = "All" then
	
	set rsEmps = conn.Execute("select * from CIEmpDir")
	TheMessage = "Todos empregados"
elseif Request.QueryString("view") = "Department" then
	set rsEmps = conn.Execute("select * from CIEmpDir where Department = '" _
	& Request.QueryString("Department") & "'")
	TheMessage = "Departamento " & Request.QueryString("Department")
else
	rsEmps.Open "SELECT * FROM CIEmpDir WHERE Name LIKE '%"&Request.Form("funcionario")&"%'",conn,3,3
	
	TheMessage = "Bucar resultados"
end if	
%>

______________________________________

 

no form existe somente um campo "funcionario" o resultado da busca deve aparecer o e-mail, ramal, departamento e nome.

 

 

 

 

Aguardo a juda ae pessoal....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Microsoft VBScript runtime error. Object required. Um dos motivos que faz com que esse erro ocorra é tentar utilizar a propriedade ou executar uma ação em um objeto quando o mesmo ainda não foi criado. Por exemplo, caso você tentar finalizar a instância de um objeto sem ter criando: conn.Close(). Esse tipo de ação gera o erro de número 800A01A8. Antes de finalizar a instância do objeto o mesmo deve ser criado. (Set conn = Server.CreateObject("ADODB.Connection"))

 

você esta chamado o

rsEmps.Open "SELECT * FROM CIEmpDir WHERE Name LIKE '%"&Request.Form("funcionario")&"%'",conn,3,3 que ira executar uma instricao SQL atraves do objeto recordset, porem nao esta criando ele acima, você criou o rsEmps atraves com objeto connection e esta executando-o atraves do metodo Execute. você precisa criar o objeto recordset

Compartilhar este post


Link para o post
Compartilhar em outros sites

Microsoft VBScript runtime error. Object required. Um dos motivos que faz com que esse erro ocorra é tentar utilizar a propriedade ou executar uma ação em um objeto quando o mesmo ainda não foi criado. Por exemplo, caso você tentar finalizar a instância de um objeto sem ter criando: conn.Close(). Esse tipo de ação gera o erro de número 800A01A8. Antes de finalizar a instância do objeto o mesmo deve ser criado. (Set conn = Server.CreateObject("ADODB.Connection"))

 

você esta chamado o

rsEmps.Open "SELECT * FROM CIEmpDir WHERE Name LIKE '%"&Request.Form("funcionario")&"%'",conn,3,3 que ira executar uma instricao SQL atraves do objeto recordset, porem nao esta criando ele acima, você criou o rsEmps atraves com objeto connection e esta executando-o atraves do metodo Execute. você precisa criar o objeto recordset

 

 

 

 

 

beleza xanburzum, vou tentar aqui...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Microsoft VBScript runtime error. Object required. Um dos motivos que faz com que esse erro ocorra é tentar utilizar a propriedade ou executar uma ação em um objeto quando o mesmo ainda não foi criado. Por exemplo, caso você tentar finalizar a instância de um objeto sem ter criando: conn.Close(). Esse tipo de ação gera o erro de número 800A01A8. Antes de finalizar a instância do objeto o mesmo deve ser criado. (Set conn = Server.CreateObject("ADODB.Connection"))

 

você esta chamado o

rsEmps.Open "SELECT * FROM CIEmpDir WHERE Name LIKE '%"&Request.Form("funcionario")&"%'",conn,3,3 que ira executar uma instricao SQL atraves do objeto recordset, porem nao esta criando ele acima, você criou o rsEmps atraves com objeto connection e esta executando-o atraves do metodo Execute. você precisa criar o objeto recordset

 

 

 

 

 

beleza xanburzum, vou tentar aqui...

 

 

 

Cara, criei o objeto e continua dando o mesmo erro!!!!

set rsEmps = Server.CreateObject("ADODB.Recordset")

 

 

help aeee

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora modifiquei um pouco o codigo aqui e deu certo, só que não aparece nenhum dado na página:

 

Página que exibe o resultado da busca:

 

 

<%@ Language=VBScript %>
<%
set conn = server.createobject ("adodb.connection")
	conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("../bd.mdb")
if Request.QueryString("view") = "All" then
	
	
	
	set rsEmps = conn.Execute("select * from CIEmpDir")
	TheMessage = "Todos empregados"
elseif Request.QueryString("view") = "Department" then
	set rsEmps = conn.Execute("select * from CIEmpDir where Department = '" _
	& Request.QueryString("Department") & "'")
	TheMessage = "Departamento " & Request.QueryString("Department")
else
	

	set rsEmps = conn.Execute("select * from CIEmpDir where " _
	& Request.Form("In") & " Like '*" _
	& Request.Form("Find") & "*'")
	TheMessage = "Bucar resultados"
end if	
%>








<HTML>
<HEAD>
<TITLE>Resultados</TITLE>




<style type="text/css">
<!--
.style2 {
	font-family: Geneva, Arial, Helvetica, sans-serif;
	font-size: 12px;
}
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	background-color: #EAEAEA;
}
a:link {
	color: #333333;
	text-decoration: none;
}
a:visited {
	color: #333333;
	text-decoration: none;
}
a:hover {
	color: #666666;
	text-decoration: none;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD>

<BODY LINK="#0000FF" VLINK="#800080" TEXT="#000000">

<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
  <tr>
	<td background="../imagens/fundo.jpg"><img src="../imagens/banner.jpg" alt="Intranet" width="775" height="170"></td>
  </tr>
  <tr>
	<td bgcolor="#333333"> </td>
  </tr>
  <tr>
	<td> </td>
  </tr>
  <tr>
	<td><TABLE BORDER=0 align="center" CELLPADDING=0 CELLSPACING=3 >
	  <TR VALIGN="top" ALIGN="left">
		<TD height="-1" colspan="4"><div align="center" class="style2"><B>Lista de usuários
		  <% Response.Write TheMEssage %>
		</B></FONT></div></TD>
	  </TR>
	  <TR VALIGN="top" ALIGN="left">
		<TD height="-2" colspan="4"> </TD>
	  </TR>
	  <TR VALIGN="top" ALIGN="left">
		<TD height="-2" colspan="4"> </TD>
	  </TR>
	  <TR ALIGN="left" VALIGN="top" bgcolor="#EAEAEA">
		<TD><div align="center"><strong><span class="style2">Nome</span></strong></div></TD>
		<TD WIDTH=158 bgcolor="#EAEAEA"><div align="center"><strong><span class="style2">E-mail</span></strong></div></TD>
		<TD WIDTH=130><div align="center"><strong><span class="style2">Ramal</span></strong></div></TD>
		<TD WIDTH=130 HEIGHT=-1><div align="center"><strong><span class="style2">Departamento</span></strong></div></TD>
	  </TR>
	  <TR VALIGN="top" ALIGN="left">
		<TD> </TD>
		<TD WIDTH=158> </TD>
		<TD WIDTH=130> </TD>
		<TD WIDTH=130 HEIGHT=10> </TD>
	  </TR>
	  <%
Do Until RsEmps.EOF
%>
	  <TR ALIGN="left" VALIGN="top" bgcolor="#EAEAEA">
		<TD WIDTH=131><div align="center"><span class="style2">
		  <% Response.Write RSEmps("Name") %>
		</span></div></TD>
		<TD WIDTH=158 bgcolor="#EAEAEA"><P align="center" class="style2"><A HREF="mailto:<% Response.Write RSEmps("EmailAddress") %>">
			<% Response.Write RSEmps("EmailAddress") %>
		</A></TD>
		<TD WIDTH=130><div align="center"><span class="style2">
			<% Response.Write RSEmps("PhoneNumber") %>
		</span></div></TD>
		<TD WIDTH=130 HEIGHT=18 bgcolor="#EAEAEA"><P align="center" class="style2"><A HREF="../html/results.asp?view=Department&Department=<% Response.Write RSEmps("Department") %>">
			<% Response.Write RSEmps("Department") %>
			</FONT></A><FONT COLOR="#FFFFFF"></TD>
	  </TR>
	  <%
	RSEmps.MoveNext
loop
%>
	</TABLE></td>
  </tr>
  <tr>
	<td> </td>
  </tr>
  <tr>
	<td><div align="center" class="style2"><a href="java script:history.go(-1)">VOLTAR</a> </div></td>
  </tr>
</table>
<p> </p>
</BODY>
</HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que esta sendo passado no Request.Form("In") Request.Form("Find")

e coloque o Like '%"& Request.Form("Find") & "%'

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que esta sendo passado no Request.Form("In") Request.Form("Find")

e coloque o Like '%"& Request.Form("Find") & "%'

 

 

Ta complicado cara, esta dando o mesmo erro, teria como você postar essa parte do codigo ae pra gente analizar ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

você verificou se esta sendo passados dados na recuperação das

Request.Form("In") e Request.Form("Find")

Compartilhar este post


Link para o post
Compartilhar em outros sites

você verificou se esta sendo passados dados na recuperação das

Request.Form("In") e Request.Form("Find")

Sim, está normal, a página results.asp está carregando certinha, só que os dados não estão sendo exibidos....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retire a formatação HTML, faça o teste limpo, sem formatações. Depois que estiver funcionando ok coloque as formatações.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retire a formatação HTML, faça o teste limpo, sem formatações. Depois que estiver funcionando ok coloque as formatações.

 

 

Salgado, retirei toda formatação como disse, mas o erro agora é outro:

 

Tipo de erro:

ADODB.Field (0x80020009)

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

 

significa que a tabela está sem nenhum registro, mais possui registros na tabela....

 

Alguma luz ae ?

Obrigado ae galera, estao ajudando muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

significa que essa consulta nao retornou registros

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta fazer um SELECT simples na tabela para ver se retorno. e dá um response.write na

Request.Form("In") e Request.Form("Find")

response.end()

para ver o esta passando para você executar sua instrucao SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta fazer um SELECT simples na tabela para ver se retorno. e dá um response.write na

Request.Form("In") e Request.Form("Find")

response.end()

para ver o esta passando para você executar sua instrucao SQL

 

Ok, vou tentar aqui..Valew..

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta fazer um SELECT simples na tabela para ver se retorno. e dá um response.write na

Request.Form("In") e Request.Form("Find")

response.end()

para ver o esta passando para você executar sua instrucao SQL

 

Ok, vou tentar aqui..Valew..

 

 

 

Sem chance galera!!!!

Continua o mesmo erro... Vou postar o codigo da results.asp que modifiquei:

<%@ Language=VBScript %>
<%
set conn = server.createobject ("adodb.connection")
	conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("../bd.mdb")
if Request.QueryString("view") = "All" then
	
	
	
	set rsEmps = conn.Execute("select * from CIEmpDir")
	TheMessage = "Todos empregados"
elseif Request.QueryString("view") = "Department" then
	set rsEmps = conn.Execute("select * from CIEmpDir where Department = '" _
	& Request.QueryString("Department") & "'")
	TheMessage = "Departamento " & Request.QueryString("Department")
else
	

	set rsEmps = conn.Execute("select * from CIEmpDir where " _
	& Request.Form("In") & " Like '*" _
	& Request.Form("Find") & "*'")
	TheMessage = "Bucar resultados"
end if	
%>




<span class="style2"><b>
<% Response.Write TheMEssage %>
</b></span><br>
<span class="style2"><a href="../html/results.asp?view=Department&Department=<% Response.Write RSEmps("Department") %>">
<% Response.Write RSEmps("Department") %>
</a></span><span class="style2">
<% Response.Write RSEmps("PhoneNumber") %>
</span><span class="style2"><a href="mailto:<% Response.Write RSEmps("EmailAddress") %>">
<% Response.Write RSEmps("EmailAddress") %>
</a></span><span class="style2">
<% Response.Write RSEmps("Name") %>
</span>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste com esse código:

<%@ Language=VBScript %>
<%
View = Request("View")
Department = Request("Department")
In = Request("In")
Find = Request("Find")

set conn = server.createobject ("adodb.connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("../bd.mdb")

if LCase(View) = "all" then
SQL = "select * from CIEmpDir;"
TheMessage = "Todos empregados"
elseif LCase(View) = LCase("Department") then
SQL = "select * from CIEmpDir where Department = '"& Department & "',")
TheMessage = "Departamento "& Department
else
SQL = "select * from CIEmpDir where "& In &" Like '%"& Find &"%';")
TheMessage = "Bucar resultados"
end if	
%>

<b>TheMessage = </b><%=TheMEssage%><br>
<b>View = </b><%=View%><br>
<b>Department = </b><%=Department%><br>
<b>In = </b><%=In%><br>
<b>Find = </b><%=Find%><br>
<b>SQL = </b><%=SQL%><br>
<%
set rsEmps = conn.Execute(SQL)
If Not rsEmps.EOF Then
While Not rSEmps.EOF
%>
<span class="style2"><%=RSEmps("Department")%></span>
<span class="style2"><%=RSEmps("PhoneNumber")%></span>
<span class="style2"><%=RSEmps("EmailAddress")%></span>
<span class="style2"><%=RSEmps("Name")%></span>
<%	Wend
Else
%>
<span class="style2">Não existem dados para sua busca.</span>
<%
End If

rsEmps.Close
Set rsEmps = Nothing

Conn.Close
Set Conn = Nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta essa string SQL no else

 

select * from CIEmpDir where "& In &" Like '%"& Find &"%';"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste com esse código:

<%@ Language=VBScript %>
<%
View = Request("View")
Department = Request("Department")
In = Request("In")
Find = Request("Find")

set conn = server.createobject ("adodb.connection")
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("../bd.mdb")

if LCase(View) = "all" then
	SQL = "select * from CIEmpDir;"
	TheMessage = "Todos empregados"
elseif LCase(View) = LCase("Department") then
	SQL = "select * from CIEmpDir where Department = '"& Department & "',")
	TheMessage = "Departamento "& Department
else
	SQL = "select * from CIEmpDir where "& In &" Like '%"& Find &"%';")
	TheMessage = "Bucar resultados"
end if	
%>

<b>TheMessage = </b><%=TheMEssage%><br>
<b>View = </b><%=View%><br>
<b>Department = </b><%=Department%><br>
<b>In = </b><%=In%><br>
<b>Find = </b><%=Find%><br>
<b>SQL = </b><%=SQL%><br>
<%
set rsEmps = conn.Execute(SQL)
If Not rsEmps.EOF Then
	While Not rSEmps.EOF
%>
<span class="style2"><%=RSEmps("Department")%></span>
<span class="style2"><%=RSEmps("PhoneNumber")%></span>
<span class="style2"><%=RSEmps("EmailAddress")%></span>
<span class="style2"><%=RSEmps("Name")%></span>
<%	Wend
Else
%>
<span class="style2">Não existem dados para sua busca.</span>
<%
End If

rsEmps.Close
Set rsEmps = Nothing

Conn.Close
Set Conn = Nothing%>

 

Salgado, com o seu codigo retornou o seguinte erro:

 

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A0400)

Instrução esperada

/funcionario/html/results2.asp, line 5

In = Request("In")

 

Vixe galera isso já ta virando um desafio em, , rsrsrs..to quebrando a cuca aqui...

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.