Jump to content
Fórum Script Brasil
  • 0

Buscando Info No Bd Access


py2tz

Question

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 to comment
Share on other sites

20 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.9k
×
×
  • Create New...