Ir para conteúdo

POWERED BY:

Arquivado

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

zigmazineutrons

Como usar BD com tabelas relacionadas

Recommended Posts

Ola, Gostaria de saber como trabalhar com tabelas relacionadas em ACCESS, sei que é usando "JOIN" mas naum to acertetando mto trabalhar com isso .Se alguem puder postar algo referente tbm agradeço mto!!!valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem precisa que uma de suas tabelas tenha um campo que seja chave estrageira, ou seja, relacione-se com a chave primaria da outra tabela ai ficaria assimSELECT Campo1,Campo2... FROM Tab1 INNER JOIN Tab2 ON Tab1.CampoId1 = Tab2.CampoId2

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixa eu ver se eu entendi!to criando um exemplo tipo de flog

 

certo entaum ta... eu criei um Banco com 2 tabelas

 

tabelas

fotos

comentarios

 

em fotos eu tenho 3 linhas

Linhas

ID_fotos

fotos

comentarios

 

e em comentarios eu tenho 5 linhas

 

linhas

 

ID_fotos -> a mesma da tabela fotos

ID_comentarios

nome

email

comentario

 

certo... no caso eu preciso mais de um post por imagem entaum os comentarios ficaramna tabela comentarios na linha comentarios...

 

agora o codigo fico assim...

 

ASP [/tr][tr]

fotosset.Source = "SELECT fotos.ID_fotos, comentarios.ID_fotos FROM comentarios INNER JOIN fotos ON comentarios.ID_fotos = fotos.ID_fotos;"

 

[/tr]

 

:unsure:

 

é isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara só acho que na tabela fotos não precisa do campo comentarios...sua consulta fica mais ou menos assim mesmo, mas acho que deverias pegar apenas as informação que vai usar pra jogar na tela

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito!!

até to entendendo !!!

 

eu deletei a linha comentarios da Tabela FOtos

 

ja montei minha conexao com o banco de dados... agora como eu faço para pegar os dados dos comentarios da Tabela comentarios?

 

exemplo!!

 

ASP [/tr][tr]

 

<table width="50%" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td align="center"><img src="<%=fotosset("foto")%>" width="400" height="400"></td>

</tr>

<tr>

<td>Nome: </td>

</tr>

<tr>

<td><%=fotosset("nome")%></td>

</tr>

<tr>

<td>Email: </td>

</tr>

<tr>

<td><%=fotosset("email")%></td>

</tr>

<tr>

<td>Comentarios:</td>

</tr>

<tr>

<td><%=fotosset("comentarios")%></td>

</tr>

</table>

 

 

[/tr]

:unsure:

seria isso!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que seria mais simples fazer duas consultas, uma pega a foto e a outra os coments

Compartilhar este post


Link para o post
Compartilhar em outros sites

é verdade marioufpa !!!

 

esse aqui e so um exemplo que ue to fazendo para poder entender!!!

e que na verdade o serviço que eu preciso fazer usa a tabela do cliente e tem mtos dados..e preciso fazer com tabelas relacionadas

 

eu até consegui fazer e entender so que agora outro problema !!

 

eu consegui listar os dados ..a imagem e os coments... so que ele pega os comentarios de todas as imagens..como posso resolver isso ...? WHERE?

 

usei o seguinte cod!!

 

ASP [/tr][tr] fotosset.Source = "SELECT fotos.ID_fotos, comentarios.ID_fotos, fotos.foto, comentarios.nome, comentarios.email, comentarios.comentarios FROM comentarios INNER JOIN fotos ON comentarios.ID_fotos = fotos.ID_fotos;"

[/tr]

 

deu certo so que pega todos os comentarios !!^!?!

 

aaa

 

e obrigado pela Força marioufpa!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

poe um where mesmo depois de tudo isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

como ficou??

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok consegui!! :D mas tive que fazer uma gambiarra...

 

ASP [/tr][tr]

numeroset.Source = "SELECT * FROM fotos ORDER BY ID_fotos DESC"

[/tr]

 

ASP [/tr][tr]

fotosset.Source = "SELECT fotos.ID_fotos, fotos.foto, comentarios.nome, comentarios.email, comentarios.comentarios FROM fotos INNER JOIN comentarios ON fotos.ID_fotos = comentarios.ID_fotos WHERE fotos.ID_fotos=" & numeroset("ID_fotos")

[/tr]

 

naum tem como fazer direto sem precisar de 2 conexões?

Compartilhar este post


Link para o post
Compartilhar em outros sites

fotosset.Source = "SELECT fotos.ID_fotos, fotos.foto, comentarios.nome, comentarios.email, comentarios.comentarios FROM fotos, comentarios where fotos.ID_fotos = comentarios.ID_fotos"vai pegar todas as fotos e seus comentarios.... depois voce pode utilizar um " order by fotos.id_fotos"falow?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho lido muitos post com pessoal com duvidas sobre consultas em access, o que aconselho é:Façam as consultas no proprio access, obtenham os resultados pretendidos, depois vao ao SQL da query no access, copiem o codigo po ASP e adaptem os valores fixos pelos valores pretendidos.Cumprimentos,Rui Costa

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.