Ir para conteúdo
Fórum Script Brasil
  • 0

Buscando Info No Bd Access


py2tz

Pergunta

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>&nbsp;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">&nbsp;&nbsp;<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>&nbsp;Iota</font></td>

<td width="250" valign="top"><font class=menu-cab>&nbsp;Nome</font></td>

<td width="100" valign="top"><font class=menu-cab>&nbsp;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")%>")>&nbsp;<%=rs("Iota")%></a></font></td>

<td bgcolor="#EFEFEF" width="250" valign="top"><font class="txt8">&nbsp;<%=rs("Nome")%></font></td>

<td bgcolor="#EFEFEF" width="100" valign="top"><font class="txt8">&nbsp;<%=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

  • 0

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 %>

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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, 3

totalrecs = rs.recordcount

achei="sim"

if rs.eof then%>

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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.MoveNext

Wend

rs.close

FechaConexao

Set 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

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpem pessoal, tá quase lá, agora tirando o fechaconexão aparece:

Microsoft VBScript runtime error '800a01a8'

Object required: 'rs'

/tree/bigtree/busca2.asp, line 50

Linha 50 tá assim:

<%achei="não"

end if

x = 0

for x = 1 to totalrecs

if rs.eof then

exit for

else

%>

Link para o comentário
Compartilhar em outros sites

  • 0

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 DSNtemp

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%>

<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">&nbsp;&nbsp;<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" -->

<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>&nbsp;Iota</font></td>

<td width="250" valign="top"><font class=menu-cab>&nbsp;Nome</font></td>

<td width="100" valign="top"><font class=menu-cab>&nbsp;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")%>")>&nbsp;<%=rs("Iota")%></a></font></td>

<td bgcolor="#EFEFEF" width="250" valign="top"><font class="txt8">&nbsp;<%=rs("Nome")%></font></td>

<td bgcolor="#EFEFEF" width="100" valign="top"><font class="txt8">&nbsp;<%=rs("Prefixo")%></font></td>

</tr>

</table>

<% rs.MoveNext

Wend

rs.close

Set 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 if

next

if achei="sim" then

%>

</div>

<hr color="#a3cbda"><br><br>

</td>

</tr>

</table>

<% end if%>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

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 if

x = 0

for x = 1 to totalrecs

if rs.eof then

exit for

else

%>

Sei que já estou enchendo o saco mas precisava dessa luz.

Fausto

Link para o comentário
Compartilhar em outros sites

  • 0

<%

vNome = request.form("Nome")

Set Conexao = CreateObject("ADODB.CONNECTION")

DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & server.mappath("../../../dados/arvore.mdb")

conexao.Open DSNtemp

sqlstmt = "SELECT * FROM prlist WHERE Nome like '%" & vNome & "%' "

Set rs = Server.CreateObject("ADODB.Recordset")

rs.Open sqlstmt, conexao, 3, 3

totalrecs = rs.recordcount

achei="sim"

if rs.eof then

%>

Link para o comentário
Compartilhar em outros sites

  • 0

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 Like

Obrigado a todos que tentaram me abrir a cabeça, estou aprendendo.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      652k
×
×
  • Criar Novo...