Ir para conteúdo

POWERED BY:

Arquivado

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

Penelope

Variável

Recommended Posts

Oi pessoal, td bem? Então, negócio é o seguinte, eu tenho duas tabelas como abaixo:

- Categoria

IDCategoria

Categoria

- Produtos

IDProduto

IDCategoria (campo que esta relacionado com o IDCategoria da tabela Categoria)

Produto

 

Ao mostrar os dados da tabela Produtos, quero identificar a Categoria que tal produto é relacionado, para tanto, (agora gostaria de saber se é assim mesmo que tenho que fazer...) declarei fiz como abaixo:

'Abri a tabela Produtos:rsProdutos.Open "SELECT * from produtos", meubd'Declarei uma variávelCategoria= "rsProdutos("IDCategoria")"   '(essa parte nao sei se é assim)' fiz um select com a variávelrsCategorias.Open "SELECT * from categoria WHERE IDCategoria='"&Categoria&"' ", meubd
Quero saber se está certo o que fiz acima, se não estiver me deem uma dica sobre como devo fazer isso... e como colocar abaixo esse esquema:

<% 'Se houver registros ele mostrará esta parte if NOT rsProdutos.EOF then 'Repetir os produtos encontradoswhile NOT rsProdutos.EOF  %>   	<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">	  <tr>		<td width="100%">		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2">		  <tr>			<td width="28%" rowspan="6"><font size="2" face="Verdana"><img src="<%=rsProdutos("Imagem")%>"></font></td>			<td width="72%" colspan="2"><font size="2" face="Verdana"><b>Produto:</b> <%=rsProdutos("Produto")%></font></td>		  </tr>		  <tr>			<td width="72%" colspan="2"><font size="2" face="Verdana"><b>Descrição: </b><%=rsProdutos("Descrição")%></font></td>		  </tr>		  <tr>			<td width="72%" colspan="2"><font size="2" face="Verdana"><b>Preço: </b>R$<%=rsProdutos("Preço")%></font></td>		  </tr>		  <tr>			<td width="72%" colspan="2"><font size="2" face="Verdana"><b>Categoria:[b]Como escrever essa parte???[/b]</b><%=rsCategorias("Categoria"></font></td>		  </tr>		  <tr>			<td width="72%" colspan="2"><font size="2" face="Verdana"><b>Promoção:</b> <%=rsProdutos("Promoção")%></font></td>		  </tr>		  <tr>			<td width="21%" align="center">			<font size="2" face="Verdana"><a href="alterar_produto.asp?IDProduto=<%=rsProdutos("IDProduto")%>">Alterar</a></font></td>			<td width="20%" align="center">			<font size="2" face="Verdana"><a href="excluir_produto.asp?IDProduto=<%=rsProdutos("IDProduto")%>">Excluir</a></font></td>		  </tr>		</table>		</td>	  </tr>	</table>	<hr>	<%rsProdutos.movenextWend 'Caso o Recordset esteja vazio, ele mostrará a parte abaixoelse  %><p align="center"><font size="3" face="Verdana">Não existemprodutos cadastrados.</font></p><% end if %>
Nossa ficou muito grande, rs, mas é que quiz explicar bem........

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode fazer na instrução sql:

 

sql="select categoria.*,produtos.* from categoria inner join produtos on categoria.idcategoria=produtos.idcategoria"

Compartilhar este post


Link para o post
Compartilhar em outros sites

e na parte onde vou colocar o campo categoria, na pagina produtos eu chamo ela normalmente? pois tentei assim e nao deu certo... me dao uma dica de como fazer?Please!Thanks

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao, eu coloquei a SQL:SQL="Select Produtos.*,Categoria.* from Produtos INNER JOIN Categoria on Categoria.IDCategoria=Produtos.IDCategoria"abri o RS:rsProdutos.Open SQL, meubdMas depois quando eu coloco os campos para listar produtos ele diz que nao reconhece os campos da tabela.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

no campo q der erro faça o q fiz em cima ou rs("categoria.categoria") ou rs("categoria") e faça na mesma se forem campos da tabela produtos rs("produto") ou rs("produtos.produto"), não se eskeça q isto normalmente é dentro de um ciclo já q não existe nenhum filtro, outra coisa ao invés de fazer produtos.* e categoria.* escolha só os campos q vai usar do género produtos.produto,produtos.descricao,categoria.nomecategoria from...

 

outra coisa ao invés de tar sempre a fazer set ao rsprodutos e rscategorias faça um q seja para tudo do tipo

 

liga = "Provider=Microsoft.jet.oledb.4.0;"liga = liga & "data source=" & server.mappath("..\pasta\basededados.mdb") & ";"set conexao = server.createobject("ADODB.Connection")conexao.open ligaset rs = createobject("ADODB.recordset")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só:ADODB.Recordset error '800a0cc1' Item cannot be found in the collection corresponding to the requested name or ordinal. /penelopenaweb/Marcia/produtos.asp, line 181

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa linha não seria assim:

 

Categoria= rsProdutos("IDCategoria") '(sem as aspas em volta do rs)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é assim, mas conseguir listar os produtos eu ja consegui, so que na parteonde seria listado o campo categoria ele aparece o ID da Categoria, mas eu queria que aparecesse o nome da categoria....

 

<% Option Explicit'Criando variáveisDim localbd, meubd, rsCategoria_busca, rsProdutos, SQL'Indicando local do Banco de dadoslocalbd="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("catalogo.mdb")'Setando conexõesset meubd=server.createobject("adodb.connection")'Criando recordsetset rsCategoria_busca=server.createobject("adodb.recordset")set rsCategorias=server.createobject("adodb.recordset")set rsProdutos=server.createobject("adodb.recordset")meubd.Open localbdSQL="Select Produtos.*,Categoria.* from Produtos INNER JOIN Categoria on Categoria.IDCategoria=Produtos.IDCategoria"'Selecionaremos todas as notícias cadastradas	rsCategoria_busca.Open "SELECT * from categoria", meubd	rsProdutos.Open SQL, meubd	%><html><head><script LANGUAGE="JavaScript">function runClock() {theTime = window.setTimeout("runClock()", 1000);var today = new Date();var display= today.toLocaleString();status=display;}</SCRIPT><title>Administração Albatronic</title></head><body onLoad="runClock()"><table border="0" width="100%" height="1">  <tr>	<td width="100%" colspan="2" height="1" bordercolor="#E1E1E1">	<img border="0" src="../loja_virtual/imagens/topo.jpg">	</td>  </tr>  <tr>	<td width="100%" colspan="2" bgcolor="#DFEFFF" height="21" bordercolor="#DFEFFF"> 	</td>  </tr>  <tr>	<td width="26%" valign="top" height="308">	  <table border="1" width="91%" bordercolor="#E1E1E1">		<tr>		  <td width="100%"><font size="2" face="Verdana"><a href="categoria.asp">Categorias</a></font></td>		</tr>		<tr>		  <td width="100%"><font size="2" face="Verdana"><a href="produtos.asp">Produtos</a></font></td>		</tr>		<tr>		  <td width="100%"><font size="2" face="Verdana"><a href="clientes.asp">Clientes</a></font></td>		</tr>		<tr>		  <td width="100%"><font size="2" face="Verdana"><a href="downloads.asp">Downloads</a></font></td>		</tr>		<tr>		  <td width="100%"><font size="2" face="Verdana"><a href="contato.asp">Contato</a></font></td>		</tr>		<tr>		  <td width="100%"><font size="2" face="Verdana"><a href="newsletter.asp">Newsletter</a></font></td>		</tr>		<tr>		  <td width="100%"><font size="2" face="Verdana"><a href="noticias.asp">Notícias</a></font></td>		</tr>		<tr>		  <td width="100%"><font size="2" face="Verdana"><a href="estatisticas.asp">Estatísticas</a></font></td>		</tr>	  </table>	  <br>	  <table border="1" width="76%" height="99" bordercolor="#E1E1E1">		<tr>				<td width="100%" height="16"><font face="Verdana" size="2"><b>Localizar Produto:</b></font></td>		</tr>		<tr>				<td width="100%" height="48">		  <form method="POST" action="produtos.asp">		  <table border="0" width="100%">			<tr>			  <td width="100%">			  <font size="2" face="Arial, Helvetica, sans-serif">		  <select name="produto" id="produto">			<% while NOT rsCategoria_busca.EOF %>		  <option value="<%=rsCategoria_busca("IDCategoria")%>"><%=rsCategoria_busca("categoria")%></option>			<%			rsCategoria_busca.movenext			wend			%>		   </select>			  </td>			</tr>			<tr>			  <td width="100%"><font size="2" face="Arial, Helvetica, sans-serif"><input type="text" name="produto" size="20">  		  </font>			  </td>			</tr>			<tr>			  <td width="100%"><font size="2" face="Arial, Helvetica, sans-serif">		   		  <input type="submit" value="Localizar" name="B1">		  </font>				</td>			</tr>		   		  </table>		  </form>		  		  </td>		</tr>	   	  </table>	  <br>	  <table border="1" width="84%" bordercolor="#E1E1E1">		<tr>		  <td width="100%"><font size="2" face="Verdana"><b>Localizar Cliente:</b></font></td>		</tr>		<tr>		  <td width="100%">			<form method="POST" action="clientes.asp">			  <table border="0" width="100%">				<tr>				  <td width="100%"><input type="text" name="cliente" size="20">  </td>				</tr>				<tr>				  <td width="100%"><input type="submit" value="Localizar" name="B1"></td>				</tr>			  </table>			</form>		  </td>		</tr>	  </table>	  	</td>		<td width="74%" height="308" valign="top">	  	<table border="1" width="100%" bordercolor="#E1E1E1">	  <tr>		<td width="100%" bgcolor="#EEEEEE"><b><font face="Verdana">Produtos</font></b></td>	  </tr>	  <tr>		<td width="100%" bgcolor="#DFEFFF">		  <p align="right"><font face="Verdana" size="2">		  <a href="incluir_produto.asp">Incluir Produto</a></font></p>		</td>	  </tr>	</table>	 	<% 	'Se houver registros ele mostrará esta parte 	if NOT rsProdutos.EOF then 	'Repetir os produtos encontrados	while NOT rsProdutos.EOF  %> 		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">	  <tr>		<td width="100%">		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber2">		  <tr>			<td width="28%" rowspan="6"><font size="2" face="Verdana"><img src="<%=rsProdutos("Produtos.Imagem")%>"></font></td>			<td width="72%" colspan="2"><font size="2" face="Verdana"><b>Produto:</b> <%=rsProdutos("Produtos.Produto")%></font></td>		  </tr>		  <tr>			<td width="72%" colspan="2"><font size="2" face="Verdana"><b>Descrição: </b><%=rsProdutos("Produtos.Descrição")%></font></td>		  </tr>		  <tr>			<td width="72%" colspan="2"><font size="2" face="Verdana"><b>Preço: </b>R$<%=rsProdutos("Produtos.Preço")%></font></td>		  </tr>		  <tr>			<td width="72%" colspan="2"><font size="2" face="Verdana"><b>Categoria:</b></font><%=rsProdutos("Categoria.Categoria")%></td>		  </tr>		  <tr>			<td width="72%" colspan="2"><font size="2" face="Verdana"><b>Promoção:</b> <%=rsProdutos("Produtos.Promoção")%></font></td>		  </tr>		  <tr>			<td width="21%" align="center">			<font size="2" face="Verdana"><a href="alterar_produto.asp?IDProduto=<%=rsProdutos("IDProduto")%>">Alterar</a></font></td>			<td width="20%" align="center">			<font size="2" face="Verdana"><a href="excluir_produto.asp?IDProduto=<%=rsProdutos("IDProduto")%>">Excluir</a></font></td>		  </tr>		</table>		</td>	  </tr>	</table>	<hr>	 <%	rsProdutos.movenext	Wend %> <% 	'Caso o Recordset esteja vazio, ele mostrará a parte abaixo	else  %>	  <p align="center"><font size="3" face="Verdana">Não existem	  produtos cadastrados.</font></p>		<p>		  <% end if %>		</p>		</td>  </tr>  <tr>	<td width="100%" colspan="2" height="21">	  <p align="center"></td>  </tr></table></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nessa linha:

<td width="28%" rowspan="6"><font size="2" face="Verdana"><img src="<%=rsProdutos("Produtos.Imagem")%

Você esta mandando escrever o conteudo da coluna Imagem da tabela Produtos, mas segundo o banco de dados que você pois no primeiro post, essa coluna não existe na tabela Produtos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para mostrar melhor, normalmente ele seria assim:Mas eu queria que no lugar daquele número aparecesse a categoria........

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para escrever a categoria no lugar do número seu código parece correto, a unica coisa que eu vi de estranho foi exatamente a linha que mencionei acima, que está dando aquele erro quando manda buscar no site...........

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aquilo foi só um exemplo, pq eu achei que os outros campos nao fosse necessarios colocar, foi para exemplificar os campos relacionados...... mas na verdade tem todos os campos que estao no codigo que postei......

http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

 

Ele nao tem a função buscar no site ainda......

 

Os campos da tabela são

 

IDProduto - Auto Numeração

IDCategoria - Número (Campo relacionado com a tabela Categoria, que é a mesma citada primeiramente)

Produto - TXT

Preço - TXT

Descrição - Memorando

Promoção - TXT

Imagem - TXT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o saloeric, a unica possibilidade que vejo de estar aparecendo o numero ao invez do nome da categoria é que no campo Categoria da tabela Categoria tenha numeros ao invez dos nomes................... :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que eu nao soube me expressar direito....Essa página é sem o SQL, como seria normalmente listado os produtos_________________________________________E essa pagina é com o SQL e justamente a pagina que coloquei acima:

Compartilhar este post


Link para o post
Compartilhar em outros sites

cancela a linha do imagem, deixa como comentário e ve se ele da o mesmo erro na próxima.

 

 

 

'deixa assim:<td width="28%" rowspan="6"><font size="2" face="Verdana"><img src="<%'=rsProdutos("Produtos.Imagem")%>"></font></td>

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.