py2tz Postado Agosto 30, 2006 Denunciar Share Postado Agosto 30, 2006 Tenho uma consulta simples no BD access onde existe uma caixa de pesquisa e que direciona ao resultado. Simples mas nã tá rodando, acho que tem haver com um tal de "cat" que existe.A caixa é simples da pagina chamada busca1.asp<div align="center"><table border="0" cellpadding="2" cellspacing="2" width="98%" height="10"><tr><td align=center><font class=txt8b> Pesquise uma Iota Ex: AF-008 ou 008 ou AF</font></td></tr><tr><td align=middle><form action="busca2.asp" method="post"><input type="text" name="Iota" size="20" maxlength="50"><input type="submit" value="Pesquisar"></form></td></tr></table></div>E o resultado sai nesta outra pagina chamada busca2.asp<%vIota = request.form("Iota")DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "DSNtemp=dsntemp & "DBQ=" & server.mappath("../../../dados/arvore.mdb")sqlstmt = "SELECT * FROM prlist WHERE Iota like '%" & vIota & "%' "Set rs = Server.CreateObject("ADODB.Recordset")rs.Open sqlstmt, DSNtemp, 3, 3totalrecs = rs.recordcountachei="sim"if rs.eof then%><html><head><title>IOTA - Islands On The Air</title></head><body><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr> <td valign="top" width="68%"> <div align="center"><img src="image/tit-iota.gif" border="0"><!--#include file="busca1.asp" --><br><br><p align="center"><font face="Verdana" size="4">Não Achei nenhum Arquivo com este Nome!!!</font></p><table border="0" cellpadding="3" cellspacing="0" width="115"><tr><td align=middle><form action="busca2.asp" method="post"><input type="text" name="Iota" size="40" maxlength="20"> <input type="submit" value="Pesquisar Novamente"></form></td></tr></table></div><br></td></tr></table><%achei="não"end ifx = 0 for x = 1 to totalrecsif rs.eof thenexit forelse%><!--#include file="inc_topo.asp" --><!--#include file="busca1.asp" --><% AbreConexaocat = request.querystring("cat")If cat = "" Then %><table bgColor="#004bae" border="0" cellpadding="2" cellspacing="2" width="98%" height="10" style="border: 1 solid #486DAC"><tr><td width="80" valign="top"><font class=menu-cab> Iota</font></td><td width="250" valign="top"><font class=menu-cab> Nome</font></td><td width="100" valign="top"><font class=menu-cab> Prefixo</font></td></tr></table><%Sql = "SELECT * FROM prlist ORDER BY Iota"Set rs = Conexao.Execute(Sql)While not rs.EOF %><table border="0" cellpadding="2" cellspacing="2" width="98%"><tr><td bgcolor="#EFEFEF" width="80" valign="top"><font class="txt8b"><A href=java script:iota("prview.asp?id=<%=rs("Id")%>")> <%=rs("Iota")%></a></font></td><td bgcolor="#EFEFEF" width="250" valign="top"><font class="txt8"> <%=rs("Nome")%></font></td><td bgcolor="#EFEFEF" width="100" valign="top"><font class="txt8"> <%=rs("Prefixo")%></font></td></tr></table><% rs.MoveNextWendrs.closeFechaConexaoSet rs = nothing %><table border="0" cellpadding="2" cellspacing="0" width="98%"><tr><td align=right valign="top"><font class="txt8b"><A href=cad.asp>Voltar para a Relação das Iotas</a></font></td></tr></table></div><% else %><% Sql = "SELECT * FROM prlist WHERE prlist = "& cat &" ORDER BY Iota"Set rs = Conexao.Execute(Sql)if rs.EOF then%><font class="txt8b">Nenhum arquivo listado nesta categoria ainda!</font><% elseWhile not rs.EOF %><% rs.MoveNextWendrs.closeFechaConexaoSet rs = nothing end ifend if%><% rs.MoveNext %><% end ifnextif achei="sim" then %></div><hr color="#a3cbda"><br><br></td></tr></table><% end if%></body></html>O erro que aparece:Microsoft VBScript runtime error '800a000d' Type mismatch: 'AbreConexao' /tree/bigtree/busca2.asp, line 55 A linha 55 é:<% AbreConexaocat = request.querystring("cat")If cat = "" Then %>Teria alguma luz para esse cego que não consegue ver o problema?????????Obrigado Fausto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos-rj Postado Agosto 30, 2006 Denunciar Share Postado Agosto 30, 2006 Tira esse "AbreConexao" e "Fechaconexao" do código que deve funcionar.você copiou este código de algum lugar? Não vejo referencia no codigo p/ "AbreConexao" e "Fechaconexao" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Agosto 30, 2006 Autor Denunciar Share Postado Agosto 30, 2006 Sim, é uma adaptação de um outro setor de pesquisa no site, porem lá existia a tal cat e neste outro não existe, vou tirar pra ver.Fausto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Agosto 30, 2006 Autor Denunciar Share Postado Agosto 30, 2006 Tirei, e quase abriu, apresenta um outro erro:Microsoft VBScript runtime error '800a01a8' Object required: '' /tree/bigtree/busca2.asp, line 63 A linha 63 é:<%Sql = "SELECT * FROM prlist ORDER BY Iota"Set rs = Conexao.Execute(Sql)While not rs.EOF %> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Agosto 30, 2006 Denunciar Share Postado Agosto 30, 2006 call AbreConexaose não funcionar então:call AbreConexao() Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos-rj Postado Agosto 30, 2006 Denunciar Share Postado Agosto 30, 2006 "Conexao" não existe! por isso dá erro.coloca assim p/ ver se funciona: DSNtemp.execute(sql) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Agosto 30, 2006 Autor Denunciar Share Postado Agosto 30, 2006 No exemplo do Marcos dá o erro:Microsoft VBScript runtime error '800a01a8' Object required: 'DRIVER={Microsoft Ac' /tree/bigtree/busca2.asp, line 64 No exemplo da Andreia fica o erro:Microsoft VBScript runtime error '800a000d' Type mismatch: 'AbreConexao' /tree/bigtree/busca2.asp, line 62 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Agosto 30, 2006 Denunciar Share Postado Agosto 30, 2006 você fez o include da conexao? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Agosto 30, 2006 Autor Denunciar Share Postado Agosto 30, 2006 Não tem include, somente a conexão direta na pagina, lá no começo dela esta assi:<%vIota = request.form("Iota")DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "DSNtemp=dsntemp & "DBQ=" & server.mappath("../../../dados/arvore.mdb")sqlstmt = "SELECT * FROM prlist WHERE Iota like '%" & vIota & "%' "Set rs = Server.CreateObject("ADODB.Recordset")rs.Open sqlstmt, DSNtemp, 3, 3totalrecs = rs.recordcountachei="sim"if rs.eof then%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos-rj Postado Agosto 30, 2006 Denunciar Share Postado Agosto 30, 2006 Pra falar a verdade já esperava que desse erro.Vamos trocar sua conexão com banco de dados?tenta assim: <% vIota = request.form("Iota") Set Conexao = CreateObject("ADODB.CONNECTION") DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & server.mappath("../../../dados/arvore.mdb") sqlstmt = "SELECT * FROM prlist WHERE Iota like '%" & vIota & "%' " Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sqlstmt, conexao, 3, 3 totalrecs = rs.recordcount achei="sim" if rs.eof then%> e coloca o select assim denovo. <%Sql = "SELECT * FROM prlist ORDER BY Iota" Set rs = Conexao.Execute(Sql) While not rs.EOF %>vê se funciona. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Agosto 30, 2006 Autor Denunciar Share Postado Agosto 30, 2006 Agora, a pagina nem abre, dá pau A página não pode ser exibida Há um problema com a página que você está tentando acessar e ela não pode ser exibida. O objetivo é uma simples conulta no BD e informar o que ele achou lá no campo, só isso, se precisar alterar a estrutura da pesquisa não tem problema, digo isso pois existe várias formas de se fazer uma rotina com um unico objetivo, porem....... Ainda não manjo muito.......ou quase nada de ASP. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos-rj Postado Agosto 30, 2006 Denunciar Share Postado Agosto 30, 2006 Set Conexao = CreateObject("ADODB.CONNECTION")DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & server.mappath("../../../dados/arvore.mdb")conexao.Open DSNtemp Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Agosto 30, 2006 Autor Denunciar Share Postado Agosto 30, 2006 Legal, puxou todos os dados e listou direitinho e no final aparece um erro:Microsoft VBScript runtime error '800a000d' Type mismatch: 'FechaConexao' /tree/bigtree/busca2.asp, line 79 Acho que tem que fechar alguma coisa lá no fim, já tem as linhas abaixo, será que falta mais algo pra fechar????<% rs.MoveNextWendrs.closeFechaConexaoSet rs = nothing %>Esta assim: Pesquise uma Iota Ex: AF-008 ou 008 ou AF Iota Nome Prefixo BRA.gif Felipe Gasparini 1 BRA.gif Eliana Ada Gasparini - BRA.gif Rafael Gasparini - BRA.gif Fausto Gasparini 2 Microsoft VBScript runtime error '800a000d' Type mismatch: 'FechaConexao' /tree/bigtree/busca2.asp, line 79 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos-rj Postado Agosto 30, 2006 Denunciar Share Postado Agosto 30, 2006 tira o "FechaConexao" não existe neste código! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Agosto 30, 2006 Autor Denunciar Share Postado Agosto 30, 2006 Desculpem pessoal, tá quase lá, agora tirando o fechaconexão aparece:Microsoft VBScript runtime error '800a01a8' Object required: 'rs' /tree/bigtree/busca2.asp, line 50Linha 50 tá assim:<%achei="não"end ifx = 0 for x = 1 to totalrecsif rs.eof thenexit forelse%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos-rj Postado Agosto 30, 2006 Denunciar Share Postado Agosto 30, 2006 posta o código de como está agora:Pelo que vi no seu código, parece que dá este erro pois você está usando mesmo nome en 2 recordsets, Set rs 2x.No 2º select coloca outro nome. Set rs1, ou qualquer outro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Agosto 30, 2006 Autor Denunciar Share Postado Agosto 30, 2006 Mais um pequeno detalhe:Qualquer coisa que digitar na caixa, desde que seja uma palavra que exista no BD, o sistema busca todos os registros, e somente se eu digitar uma palavra que não existe no BD vem a info que não achou nenhum registro.<%vIota = request.form("Iota")Set Conexao = CreateObject("ADODB.CONNECTION")DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & server.mappath("../../../dados/arvore.mdb")conexao.Open DSNtempsqlstmt = "SELECT * FROM prlist WHERE Iota like '%" & vIota & "%' "Set rs = Server.CreateObject("ADODB.Recordset")rs.Open sqlstmt, conexao, 3, 3totalrecs = rs.recordcountachei="sim"if rs.eof then%><html><head><title>IOTA - Islands On The Air</title><META NAME="Robots" CONTENT="All"></head><body><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td valign="top" width="68%"> <div align="center"> <img src="image/tit-iota.gif" border="0"> <!--#include file="busca1.asp" --> <br><br> <p align="center"><font face="Verdana" size="4">Não Achei nenhum Arquivo com este Nome!!!</font></p> <table border="0" cellpadding="3" cellspacing="0" width="115"> <tr> <td align=middle> <form action="busca2.asp" method="post"><input type="text" name="Iota" size="40" maxlength="20"> <input type="submit" value="Pesquisar Novamente"></form> </td> </tr> </table> </div> <br> </td> </tr></table><%achei="não"end ifx = 0 for x = 1 to totalrecsif rs.eof thenexit forelse%><!--#include file="inc_topo.asp" --> <!--#include file="busca1.asp" --><table bgColor="#004bae" border="0" cellpadding="2" cellspacing="2" width="98%" height="10" style="border: 1 solid #486DAC"> <tr> <td width="80" valign="top"><font class=menu-cab> Iota</font></td> <td width="250" valign="top"><font class=menu-cab> Nome</font></td> <td width="100" valign="top"><font class=menu-cab> Prefixo</font></td> </tr></table><%Sql = "SELECT * FROM prlist ORDER BY Iota"Set rs = Conexao.Execute(Sql)While not rs.EOF %><table border="0" cellpadding="2" cellspacing="2" width="98%"> <tr> <td bgcolor="#EFEFEF" width="80" valign="top"><font class="txt8b"><A href=java script:iota("prview.asp?id=<%=rs("Id")%>")> <%=rs("Iota")%></a></font></td> <td bgcolor="#EFEFEF" width="250" valign="top"><font class="txt8"> <%=rs("Nome")%></font></td> <td bgcolor="#EFEFEF" width="100" valign="top"><font class="txt8"> <%=rs("Prefixo")%></font></td> </tr></table><% rs.MoveNextWendrs.closeSet rs = nothing %> <table border="0" cellpadding="2" cellspacing="0" width="98%"> <tr> <td align=right valign="top"><font class="txt8b"><A href=default.asp>Voltar para a Relação das Iotas</a></font></td> </tr> </table></div><% end ifnextif achei="sim" then %> </div><hr color="#a3cbda"><br><br> </td> </tr></table><% end if%></body></html> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Agosto 31, 2006 Autor Denunciar Share Postado Agosto 31, 2006 Olá pessoal,Achei outro script aqui no forum, fiz as alterações e continua agualzinho ao que eu tinha, ou seja ao se pesquisar um nome ele puxa todos os registros do BD, independente do nome, vem todos.Pergunto como fazer com que ele traga somente o nome pesquisado e trazer os dados que neste registro existem.Alem disso no fim aparece:Microsoft VBScript runtime error '800a01a8' Object required: 'rs' /tree/bigtree/busca2.asp, line 44 A linha 44 tem uma ASP:<%achei="não"end ifx = 0 for x = 1 to totalrecsif rs.eof thenexit forelse%>Sei que já estou enchendo o saco mas precisava dessa luz.Fausto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos-rj Postado Agosto 31, 2006 Denunciar Share Postado Agosto 31, 2006 Como está o Select?E coloca a conexao com o banco. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Setembro 1, 2006 Autor Denunciar Share Postado Setembro 1, 2006 <%vNome = request.form("Nome")Set Conexao = CreateObject("ADODB.CONNECTION")DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & server.mappath("../../../dados/arvore.mdb")conexao.Open DSNtempsqlstmt = "SELECT * FROM prlist WHERE Nome like '%" & vNome & "%' "Set rs = Server.CreateObject("ADODB.Recordset")rs.Open sqlstmt, conexao, 3, 3totalrecs = rs.recordcountachei="sim"if rs.eof then%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 py2tz Postado Setembro 4, 2006 Autor Denunciar Share Postado Setembro 4, 2006 Pessoal, depois de apanhar pakas, achei a soluçao, apena inseri o like na outra select que não tinha percebido e funcionou direitinho, só ficou o pau de RS que ainda vou descobrir.Era assim:1º select ---- sqlstmt = "SELECT * FROM prlist WHERE Iota like '%" & vIota & "%' "1º select ---- Sql = "SELECT * FROM prlist ORDER BY Iota"Deixei assim:1º select ---- sqlstmt = "SELECT * FROM prlist WHERE Iota like '%" & vIota & "%' "2º select ---- Sql = "SELECT * FROM prlist ORDER BY Iota like '%" & vIota & "%' "O segredo esta no LikeObrigado a todos que tentaram me abrir a cabeça, estou aprendendo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
py2tz
Tenho uma consulta simples no BD access onde existe uma caixa de pesquisa e que direciona ao resultado. Simples mas nã tá rodando, acho que tem haver com um tal de "cat" que existe.
A caixa é simples da pagina chamada busca1.asp
<div align="center">
<table border="0" cellpadding="2" cellspacing="2" width="98%" height="10">
<tr>
<td align=center><font class=txt8b> Pesquise uma Iota Ex: AF-008 ou 008 ou AF</font></td>
</tr>
<tr>
<td align=middle>
<form action="busca2.asp" method="post">
<input type="text" name="Iota" size="20" maxlength="50">
<input type="submit" value="Pesquisar">
</form>
</td>
</tr>
</table>
</div>
E o resultado sai nesta outra pagina chamada busca2.asp
<%
vIota = request.form("Iota")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("../../../dados/arvore.mdb")
sqlstmt = "SELECT * FROM prlist WHERE Iota like '%" & vIota & "%' "
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sqlstmt, DSNtemp, 3, 3
totalrecs = rs.recordcount
achei="sim"
if rs.eof then%>
<html>
<head>
<title>IOTA - Islands On The Air</title>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" width="68%">
<div align="center">
<img src="image/tit-iota.gif" border="0">
<!--#include file="busca1.asp" -->
<br><br>
<p align="center"><font face="Verdana" size="4">Não Achei nenhum Arquivo com este Nome!!!</font></p>
<table border="0" cellpadding="3" cellspacing="0" width="115">
<tr>
<td align=middle>
<form action="busca2.asp" method="post"><input type="text" name="Iota" size="40" maxlength="20"> <input type="submit" value="Pesquisar Novamente"></form>
</td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<%achei="não"
end if
x = 0
for x = 1 to totalrecs
if rs.eof then
exit for
else
%>
<!--#include file="inc_topo.asp" -->
<!--#include file="busca1.asp" -->
<% AbreConexao
cat = request.querystring("cat")
If cat = "" Then
%>
<table bgColor="#004bae" border="0" cellpadding="2" cellspacing="2" width="98%" height="10" style="border: 1 solid #486DAC">
<tr>
<td width="80" valign="top"><font class=menu-cab> Iota</font></td>
<td width="250" valign="top"><font class=menu-cab> Nome</font></td>
<td width="100" valign="top"><font class=menu-cab> Prefixo</font></td>
</tr>
</table>
<%Sql = "SELECT * FROM prlist ORDER BY Iota"
Set rs = Conexao.Execute(Sql)
While not rs.EOF %>
<table border="0" cellpadding="2" cellspacing="2" width="98%">
<tr>
<td bgcolor="#EFEFEF" width="80" valign="top"><font class="txt8b"><A href=java script:iota("prview.asp?id=<%=rs("Id")%>")> <%=rs("Iota")%></a></font></td>
<td bgcolor="#EFEFEF" width="250" valign="top"><font class="txt8"> <%=rs("Nome")%></font></td>
<td bgcolor="#EFEFEF" width="100" valign="top"><font class="txt8"> <%=rs("Prefixo")%></font></td>
</tr>
</table>
<% rs.MoveNext
Wend
rs.close
FechaConexao
Set rs = nothing %>
<table border="0" cellpadding="2" cellspacing="0" width="98%">
<tr>
<td align=right valign="top"><font class="txt8b"><A href=cad.asp>Voltar para a Relação das Iotas</a></font></td>
</tr>
</table>
</div>
<% else %>
<% Sql = "SELECT * FROM prlist WHERE prlist = "& cat &" ORDER BY Iota"
Set rs = Conexao.Execute(Sql)
if rs.EOF then%>
<font class="txt8b">Nenhum arquivo listado nesta categoria ainda!</font>
<% else
While not rs.EOF %>
<% rs.MoveNext
Wend
rs.close
FechaConexao
Set rs = nothing
end if
end if%>
<% rs.MoveNext %>
<% end if
next
if achei="sim" then
%>
</div>
<hr color="#a3cbda"><br><br>
</td>
</tr>
</table>
<% end if%>
</body>
</html>
O erro que aparece:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'AbreConexao'
/tree/bigtree/busca2.asp, line 55
A linha 55 é:
<% AbreConexao
cat = request.querystring("cat")
If cat = "" Then
%>
Teria alguma luz para esse cego que não consegue ver o problema?????????
Obrigado Fausto
Link para o comentário
Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.