Ir para conteúdo

POWERED BY:

Arquivado

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

Cesão

Problema de associação

Recommended Posts

Olá,sabe quando você fica martelando em um código e depois de algumas horas nao consegue nem mais entender códigos simples? hahaacho que aconteceu isso cmg.. to saturado aki...pelo jeito o meu problema é simples...meu DB eh access..nao estou conseguindo associar um numero de uma tabela ao ID de outra do meu banco de dados.. tipo..tenho 2 tabelas... uma de recados e outra de usuarios...a recados tem os campos: id_recados(autonum), enviou(num), recebeu(num), data(DataHora) recado(mem)e a usuarios tem os campos: id_usuario(autonum), nome(texto)eu queria exibir todos os meus recados mostrando quem enviou (nome), quem recebeu (nome), a data que foi enviado e o recado...mas nao estou conseguindo associar para aparecer os nomes ao inves de numeros... (enviou e recebeu)...fui dar uma olhada nos meus projetos antigos e eu consigo associar tranquilamente qdo eh apenas um campo de numero.. mas qdo eh 2 (neste caso, enviou e recebeu), nem sei por onde começar...alguem me ajuda ai?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,sabe quando você fica martelando em um código e depois de algumas horas nao consegue nem mais entender códigos simples? hahaacho que aconteceu isso cmg.. to saturado aki...pelo jeito o meu problema é simples...meu DB eh access..nao estou conseguindo associar um numero de uma tabela ao ID de outra do meu banco de dados.. tipo..tenho 2 tabelas... uma de recados e outra de usuarios...a recados tem os campos: id_recados(autonum), enviou(num), recebeu(num), data(DataHora) recado(mem)e a usuarios tem os campos: id_usuario(autonum), nome(texto)eu queria exibir todos os meus recados mostrando quem enviou (nome), quem recebeu (nome), a data que foi enviado e o recado...mas nao estou conseguindo associar para aparecer os nomes ao inves de numeros... (enviou e recebeu)...fui dar uma olhada nos meus projetos antigos e eu consigo associar tranquilamente qdo eh apenas um campo de numero.. mas qdo eh 2 (neste caso, enviou e recebeu), nem sei por onde começar...alguem me ajuda ai?

Meu caro, tente...sql="select campos.tabela1, campos.tabela2 from tabela1, tabela2 where campo.tabela1 = campo.tabela2"

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas a associação que eu fiz está assim:SQL = "SELECT TOP 4 * FROM recados a, usuarios b WHERE a.enviou=b.id_usuario and a.recebeu=b.id_usuario ORDER BY dta DESC"Set rs_capa_recados = conexao.execute(SQL)que eh o mesmo conceito que você me passou...mas nao aparece nada.. ele mostra como se nao existisse registros...deve haver outra maneira...

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, os campos que eram p se relacionar sao:

 

TABELA 1 (recados)

enviou (numero)

recebeu (numero)

 

eram p se relacionar com o campo da:

TABELA 2 (usuarios)

id_usuario (AutoNum)...

nome (texto)

 

pq assim.. na tabela de recados, nos campos enviou e recebeu sao apenas os numeros correspondentes aos IDs dos usuarios: o que enviou e o usuario que vai receber o recado.. e gostaria que aparecesse o NOME desses usuarios no site, e nao seus IDs.. como faço com o Inner Join?

 

Por enquanto meu codigo esta assim:

 

Meu select:

<%SQL = "SELECT TOP 4 * FROM recados ORDER BY dta DESC"Set rs_capa_recados = conexao.execute(SQL)%>
Meu Loop:

<%do while not rs_capa_recados.eof%>				<div class="txt_o"><b><%=rs_capa_recados("enviou")%> » <%=rs_capa_recados("recebeu")%></b></div>				<div class="txt_w" style="margin:0 0 10px 0;"><%=FormatoDataHora(rs_capa_recados("dta"))%></div>				<div style="margin:0 0 10px 0;"><a href="#"><%=resumindo(rs_capa_recados("recado"),82)%></a></div>				<div style="margin:0 0 10px 0;"><img src="images/line_sep.gif"></div>			<%rs_capa_recados.movenext			loop%>
Agora preciso relacionar a tabela USUARIOS (o ID e nome) para aparecer o nome do usuario que enviou e do que recebeu o recado.. pois, por enquanto, está aparecendo o ID do usuario...

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um select pra puxar os ultimos X e depois dentro de um while você cria outro select e vai puxando o os dados da tabela de usuários de acordo com o ID

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Jonathan,

 

consegui fazer aki certinho... funcionou perfeito...

 

meu select ficou assim:

<%SQL = "SELECT TOP 4 * FROM recados a, usuarios b WHERE a.enviou=b.id_usuario ORDER BY dta DESC"Set rs_capa_recados = conexao.execute(SQL)%>

e meu while ficou assim:

<%do while not rs_capa_recados.eof%>			<%			SQL = "SELECT * FROM recados a, usuarios b WHERE a.recebeu=b.id_usuario and id_recado="&rs_capa_recados(0)			Set rs_capa_recados2 = conexao.execute(SQL)			%>				<div class="txt_o"><b><%=rs_capa_recados("nome")%> » <%=rs_capa_recados2("nome")%></b></div>				<div class="txt_w" style="margin:0 0 10px 0;"><%=FormatoDataHora(rs_capa_recados("dta"))%></div>				<div style="margin:0 0 10px 0;"><a href="recado_det.asp?idr=<%=rs_capa_recados(0)%>"><%=resumindo(rs_capa_recados("recado"),82)%></a></div>				<div style="margin:0 0 10px 0;"><img src="images/line_sep.gif"></div>			<%rs_capa_recados.movenext			loop%>

Dai com a associação DENTRO do while eu consegui colocar os nomes dos usuarios ao inves de seus IDs.. hehe

Valew ;)

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.