Ir para conteúdo

POWERED BY:

Arquivado

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

luciano

busca em varias tabelas

Recommended Posts

Olá pessoal sera que alguem poderia me ajudar nesta dúvida

procurei no forum mais não encontrei nada

 

tenho 3 tabelas no access

1- categoria_br

3- categoria_us

4- categoria_es

 

gostaria de saber com fazer para listar a categoria

correspondente a sessão

 

abaixo meu código

 

<%
Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="
strConnection = strConnection & Server.MapPath("dados/banco.mdb")
objConn.Open strConnection 

'Recupero uma sessão nop caso Portugues,Ingles,Espanhol
lingua=Session("lingua")

'Se for portugues lista a tabela portugues
IF lingua ="portugues" then
PESQUISAR = "SELECT * FROM categoria_br"
Set RecSet=objConn.Execute(PESQUISAR)
IF RecSet.EOF then
end if

'Se for ingles lista a tabela ingles
IF lingua ="ingles" then
PESQUISAR = "SELECT * FROM categoria_us"
Set RecSet=objConn.Execute(PESQUISAR)
IF RecSet.EOF then
end if

'Se for espanhol lista a tabela espanhol
IF lingua ="espanhol" then
PESQUISAR = "SELECT * FROM categoria_es"
Set RecSet=objConn.Execute(PESQUISAR)
IF RecSet.EOF then
end if 
%>   
 Nenhum registro encontrado
<%else %> 

Lista

	 <table border="1" width="350"  height="60">
	   <tr> 
 <% 
num = 0 
do while NOT RecSet.EOF%>
			   <td  bgcolor="<%=cor_centro1%>"> 
		 <a href="produtos_menu_2.asp" ><%=RecSet("cat_br")%></a>
			   </td>
  <% 
RecSet.Movenext
num = num + 1
if num mod 2 = 0 then response.write "</tr><tr>" 
loop
%> 
</tr> 
 </table> 
<% 
end if 
end if 
end if
objConn.close
%>

 

tambem não sei como recuperar em baixo do do while NOT RecSet.EOF

<%=RecSet("cat_br")%> ??

 

se alguem tiver uma outra forma melhor de se fazer isto por favor poste p/ mim

tem dias que estou quebrando a cabeça com isto.

 

 

Muito obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu não entendi direito o que você quer amigo...

se for para buscar em uma tabela especifica de acordo com a lingua você está fazendo certo; só te dou a dica que ao invés de usar tantos if's, no seu caso você pode usar ElseIf!

 

qualquer dúvida poste!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo tentei como você falou mais dá erro:

------

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

Erro de sintaxe

/_1_loja_62/1listagem.asp, line 31, column 6

ElseIf

--------

 

só com if não dá erro mais tambem não lista nada

veja o cod. abaixo

obrigado pela sua ajuda

 

<%
Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="
strConnection = strConnection & Server.MapPath("dados/loja.mdb")
objConn.Open strConnection 

'Recupero uma sessão nop caso Portugues,Ingles,Espanhol
lingua=Session("lingua")

'Se for portugues lista a tabela portugues
IF lingua ="portugues" then
PESQUISAR = "SELECT * FROM categoria_br"
Set RecSet=objConn.Execute(PESQUISAR)
IF RecSet.EOF then
cat=RecSet("cat_br")
ElseIf 

'Se for ingles lista a tabela ingles
IF lingua ="ingles" then
PESQUISAR = "SELECT * FROM categoria_us"
Set RecSet=objConn.Execute(PESQUISAR)
IF RecSet.EOF then
cat=RecSet("cat_us")
ElseIf 

'Se for espanhol lista a tabela espanhol
IF lingua ="espanhol" then
PESQUISAR = "SELECT * FROM categoria_es"
Set RecSet=objConn.Execute(PESQUISAR)
IF RecSet.EOF then
cat=RecSet("cat_es")
ElseIf 
%> 
Nenhum registro encontrado
<%else %> 

Listagem

<table border="1" width="350" height="60">
<tr> 
<% 
num = 0 
do while NOT RecSet.EOF%>
<td bgcolor="<%=cor_centro1%>"> 
<a href="produtos_menu_2.asp" ><%=cat%></a>
</td>
<% 
RecSet.Movenext
num = num + 1
if num mod 2 = 0 then response.write "</tr><tr>" 
loop
%> 
</tr> 
</table> 
<% 


end if

objConn.close
%>

 

 

eu não entendi direito o que você quer amigo...

se for para buscar em uma tabela especifica de acordo com a lingua você está fazendo certo; só te dou a dica que ao invés de usar tantos if's, no seu caso você pode usar ElseIf!

 

qualquer dúvida poste!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Luciano

 

Acho que seu código tinha alguns if´s desnecessários, e por isso não funcionava legal.

 

Tenta fazer dessa forma:

 

Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="
strConnection = strConnection & Server.MapPath("dados/banco.mdb")
objConn.Open strConnection 

'Recupero uma sessão nop caso Portugues,Ingles,Espanhol
lingua=Session("lingua")

'Se for portugues lista a tabela portugues
Select Case lingua 
Case "portugues"
PESQUISAR = "SELECT * FROM categoria_br"
Case "ingles"
PESQUISAR = "SELECT * FROM categoria_us"
Case "espanhol"
PESQUISAR = "SELECT * FROM categoria_es"
End Select

Set RecSet=objConn.Execute(PESQUISAR)
IF RecSet.EOF then%>   
 Nenhum registro encontrado
<%else %> 
Lista

	 <table border="1" width="350"  height="60">
	   <tr> 
 <% 
num = 0 
do while NOT RecSet.EOF%>
			   <td  bgcolor="<%=cor_centro1%>"> 
		 <a href="produtos_menu_2.asp" ><%=RecSet("cat_br")%></a>
			   </td>
  <% 
RecSet.Movenext
num = num + 1
if num mod 2 = 0 then response.write "</tr><tr>" 
loop
%> 
</tr> 
 </table> 
<% 
end if
objConn.close

Abraço

Cassiano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá cassiano muito obrigado mesmo pela ajuda

era isso mesmo, só que tem um probleminha

só lista quando for portugues

 

abaixo do (do while NOT RecSet.EOF)

<a href="produtos_menu_2.asp" ><%=RecSet("cat_br")%></a>

 

na tabela portugues esta assim (cat_br)

na tabela ingles esta assim (cat_us)

na tabela espanhol esta assim (cat_es)

 

não consegui recuperar

<%=RecSet("cat_br")%>

 

novamente muito obrigado

 

 

Luciano

 

Acho que seu código tinha alguns if´s desnecessários, e por isso não funcionava legal.

 

Tenta fazer dessa forma:

 

Set objConn = Server.CreateObject("ADODB.Connection")
strConnection = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="
strConnection = strConnection & Server.MapPath("dados/banco.mdb")
objConn.Open strConnection 

'Recupero uma sessão nop caso Portugues,Ingles,Espanhol
lingua=Session("lingua")

'Se for portugues lista a tabela portugues
Select Case lingua 
Case "portugues"
PESQUISAR = "SELECT * FROM categoria_br"
Case "ingles"
PESQUISAR = "SELECT * FROM categoria_us"
Case "espanhol"
PESQUISAR = "SELECT * FROM categoria_es"
End Select

Set RecSet=objConn.Execute(PESQUISAR)
IF RecSet.EOF then%>   
 Nenhum registro encontrado
<%else %> 
Lista

	 <table border="1" width="350"  height="60">
	   <tr> 
 <% 
num = 0 
do while NOT RecSet.EOF%>
			   <td  bgcolor="<%=cor_centro1%>"> 
		 <a href="produtos_menu_2.asp" ><%=RecSet("cat_br")%></a>
			   </td>
  <% 
RecSet.Movenext
num = num + 1
if num mod 2 = 0 then response.write "</tr><tr>" 
loop
%> 
</tr> 
 </table> 
<% 
end if
objConn.close

Abraço

Cassiano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Luciano

 

Faz assim entao:

 

Select Case lingua 
Case "portugues"
PESQUISAR = "SELECT cat_br as categoria FROM categoria_br"
Case "ingles"
PESQUISAR = "SELECT cat_us as categoria FROM categoria_us"
Case "espanhol"
PESQUISAR = "SELECT cat_es as categoria FROM categoria_es"
End Select

Lembrando que se você precisar de mais campos, acrescente-os no select acima.

 

E na hora de listar, coloca assim:

 

<%=RecSet("categoria")%>

 

Abraço

Cassiano.

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.