Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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!
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.
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.
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.
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!