Ir para conteúdo

POWERED BY:

Arquivado

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

Arthur Webdesigner

Busca em mais de uma tabela (Access)

Recommended Posts

Ae pessoal, eu preciso saber como fazer o código buscar em mais de uma tabela. O código é esse abaixo:

 

strSQL = "Select * From tabela1 where coluna1 like '%" & conteudo & "%'"

Me digam como faz para adicionar simultâneas colunas para ele buscar.

Preciso disso urgentemente.

 

Obs.: todas as tabelas tem colunas iguais (nomes iguais)

 

Muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo q entendi... você tem várias tabelas com as mesmas colunas e você quer buscar um valor, por exemplo "mundo" em todas as tabelas e mostrar o resultado de todas de uma única vez... é isso?

 

a forma mais rápida para processar a consulta é usando union...

SELECT *FROM((SELECT *FROM TABELA1WHERE CAMPO1 = 'XXXX')UNION(SELECT *FROM TABELA2WHERE CAMPO1 = 'XXXX')UNION(SELECT *FROM TABELA3WHERE CAMPO1 = 'XXXX'))

Compartilhar este post


Link para o post
Compartilhar em outros sites

aonde tem XXXX eu coloco o que?

 

Vou colocar o código aqui, para vocês compreenderem o que eu quero:

 

Página HTML onde ocorrerá a busca:

busca.html

 

<form method="post"  action="resultadobusca.asp">Buscar: <input type="text" name="busca"> <input type="submit" value="Buscar"></form>

Página ASP onde serão exibidos os resultados

resultadobusca.asp

<%Option Explicit%><!--#include file="conexaobusca.asp"--><%Dim Conexao, strSQl, rsProdutos, conteudoconteudo = Request.Form("busca")Call abre_conexaostrSQL = "Select * From categoria_inicial where nome like '%" & conteudo & "%'"Set rsProdutos = Conexao.Execute(strSQL)if rsProdutos.EOF then	response.Write	"<meta http-equiv=refresh content=0;URL=semresultado.asp>"	response.end()end if%><table><%while not rsProdutos.EOF	Response.Write	"<tr><td valign=middle>   <a href=pdf/" & rsProdutos("arquivo") & ".pdf target=_blank><img src=pdf.gif width=20 height=20 border=0 alt=Arquivo PDF></a></td>" & "<td valign=middle><code><a href=pdf/" & rsProdutos("arquivo") & ".pdf target=_blank>" & rsProdutos("nome") & "</a></code></td></tr>"	rsProdutos.MoveNextwend%></table><%Call fecha_conexaoSet rsProdutos = Nothing%>
O que quero fazer:

Quero fazer com que na página HTML seja feita uma busca em várias tabelas ao mesmo tempo (obs.: as tabelas só mudam os nomes, as colunas tem nomes iguais "codigo, arquivo, nome").

Na página ASP, serão exibidas as informações das colunas "arquivo" e "nome" de todas as tabelas.

 

Vejam o que podem fazer por mim.

Valeu mesmo, ficarei devendo essa ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu coloquei, mas deu erro, dê uma olhada como ficou

<%Option Explicit%><!--#include file="conexaobusca.asp"--><%Dim Conexao, strSQl, rsProdutos, conteudoconteudo = Request.Form("busca")Call abre_conexaostrSQL = "SELECT *FROM((SELECT *FROM categoria_inicialWHERE nome = 'conteudo')UNION(SELECT *FROM categoria1WHERE nome = 'conteudo')UNION(SELECT *FROM categoria2WHERE nome = 'conteudo'))"Set rsProdutos = Conexao.Execute(strSQL)if rsProdutos.EOF then	response.Write	"<meta http-equiv=refresh content=0;URL=semresultado.asp>"	response.end()end if%><table><%while not rsProdutos.EOF	Response.Write	"<tr><td valign=middle>   <a href=pdf/" & rsProdutos("arquivo") & ".pdf target=_blank><img src=pdf.gif width=20 height=20 border=0 alt=Arquivo PDF></a></td>" & "<td valign=middle><code><a href=pdf/" & rsProdutos("arquivo") & ".pdf target=_blank>" & rsProdutos("nome") & "</a></code></td></tr>"	rsProdutos.MoveNextwend%></table>	<%Call fecha_conexaoSet rsProdutos = Nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe é que so meio iniciante em ASP http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

 

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

 

[Microsoft][ODBC Microsoft Access Driver] The specified field 'nome' could refer to more than one table listed in the FROM clause of your SQL statement.

 

/precision/resultadobusca.asp, line 14

Compartilhar este post


Link para o post
Compartilhar em outros sites

Microsoft VBScript compilation error '800a0401'

 

Expected end of statement

 

/precision/resultadobusca1.asp, line 14

 

strSQL = "SELECT * FROM categoria_inicial,categoria1,categoria2 WHERE nome ='"&conteudo"' "

---------------------------------------------------------------------------------------^

Compartilhar este post


Link para o post
Compartilhar em outros sites
testa assim:

 

<%
Call abre_conexao
strSQL = "SELECT * FROM categoria_inicial,categoria1,categoria2 WHERE nome ='"&conteudo"' "
Set rsProdutos = Conexao.Execute(strSQL)

%>

Cara, acho que ficaria melhor assim:
SELECT * FROM categoria_inicial,categoria1,categoria2 WHERE categoria_inicial.nome ='"& conteudo &"' AND categoria_inicial.nome = categoria1.nome AND categoria_inicial.nome = categoria2.nome

E por ai vai, não?

Compartilhar este post


Link para o post
Compartilhar em outros sites

strSQL = "SELECT * FROM categoria_inicial,categoria1,categoria2 WHERE categoria_inicial.nome ='"& conteudo &"' AND categoria_inicial.nome = categoria1.nome AND categoria_inicial.nome = categoria2.nome"

desse jeito ele funciona, só que não consegue achar as informações, redirecionando para a página semresultado.asp

 

mas é um começo hehehe :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

vejam se coloquei o LIKE certo dentro do código:

 

 

WHERE categoria_inicial.nome = LIKE '"& conteudo &"' AND categoria_inicial.nome =
porque ele dá esse erro:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'categoria_inicial.nome = LIKE 'documento' AND categoria_inicial.nome = categoria1.nome AND categoria_inicial.nome = categoria2.nome'.

 

/precision/resultadobusca1.asp, line 15

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele continua dando o mesmo erro

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'categoria_inicial.nome = like '%documento%' AND categoria_inicial.nome = categoria1.nome AND categoria_inicial.nome = categoria2.nome'.

 

/precision/resultadobusca1.asp, line 15

 

será que o problema não está nesse = antes do like

WHERE categoria_inicial.nome = like '%"& conteudo &"%' AND categoria_inicial.nome

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tire o "=" antes do like

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.