CONCATENA?ÃO ENTRE TABELAS

VINICIUS2445 04/08/2015 23:02:46
#449568
Gente, eu tenho uma tabela chamada Cad_Cliente e outra chamada Cad_produto, caso o cliente tenha uma loja já cadastrada no nosso sistema, preciso que mostre os produtos deles que estão na outra tabela, mas não sei como fazer isso.

Os produtos, teriam que aparecer nessa form, só que, caso por exemplo, outro usuário entre, os produtos que teriam que aparecer são da loja do outro, e não desse, e não sei como fazer essa concatenação, se puderem me explicar.


agradeço desde já...
abçs...



KERPLUNK 04/08/2015 23:32:42
#449569
Vamos ao básico, como está estruturado o seu banco de dados?
VINICIUS2445 04/08/2015 23:37:35
#449570
Fiz ele no acess, onde tenho duas tabelas, a 1 Cad_Cliente e a outra Cad_Produto, na tabela Cad_Cliente, a pk é o Número de cadastro(N_Cad), E na tabela Cad_Produto seria o próprio código do produto, ai preciso relacionar as duas de tal modo que, quando o usuário x entrar, apareça os produtos pertencentes a esse usuário x, a mesma coisa o y...
KERPLUNK 04/08/2015 23:47:55
#449571
Você vai ter que criar uma terceira tabela aí, relacionando que produto é de que cliente e em cada comando SQL, consultar essa tabela para saber o que deve ser afetado
VINICIUS2445 04/08/2015 23:53:05
#449572
Poderia me explicar como que eu faria isso, te mandei uma mensagem privada, se puder me responder porfavor e ver direitinho, já considero esse tópico como encerrado.
KERPLUNK 05/08/2015 18:33:54
#449648
Você vai criar uma tabela com dois campos: CodProduto e CodCliente. Ao cadastrar, o produto de código [Ô]1[Ô], é referente ao cliente [Ô]92[Ô], o produto de código [Ô]4[Ô] é referente ao cliente [Ô]8[Ô] e assim por diante conforme for o caso. Para selecionar os produtos de cada cliente, você vai ter que fazer um Join usando essa tabela para poder pegar somente os produtos do cliente que está usando o sistema no momento. Mais ou menos assim:

Select * from produtos inner join TabelaLigacao as t on t.codcliente = [Ô]cliente ativo[Ô]

FILMAN 05/08/2015 21:00:15
#449652
Caro VINICIUS2445, nos mostre aqui a estrutura de suas tabelas Cad_Clientes e Cad_Produtos.
Mas caso as suas tabelas não tenham relacionamentos você terá que fazer o que nosso amigo KERPLUNK disse, ou seja, uma tabela intermediaria!

Tipo assim Cad_ClientesProd
Teria os seguintes campos
N_Cad_Cliente INT
N_Cad_Produto INT

Essa tabela seria muitos para muitos podendo repetir produtos e clientes, mas no seguinte sentido

N_Cad_Cliente N_Cad_Produto
1 1
1 2
1 3
2 1
2 2

Veja que repeti cliente para produtos diferentes e repeti o produto para clientes diferentes!

Qualquer dúvida fala ai.
VINICIUS2445 06/08/2015 01:50:32
#449659
Filman, fiz exatamente isso, vou lhe mostrar, agora só estou em dúvida para passar para o vb msm...


Essa é a tabela de relacionamento entre as duas, que já tinha feito, exatamente como vc falou!
fiz um assistente de consulta tbm
VINICIUS2445 06/08/2015 01:54:15
#449660
Segue o assistente de consulta



FILMAN 10/08/2015 16:13:59
#449787
SELECT N_CAD FROM CAD_CLIENTE WHERE LOGIN = NOME_LOGIN_USUARIO AND SENHA = SENHA_LOGIN_USUARIO

Quando o usuário fizer o login você vai recuperar em uma variável global ou como preferir desde que tenha o numero do cadastro da empresa!
Se não tiver número de cadastro da empresa é por que nem produtos tem! Mas caso tenha cadastro isso não quer dier que tenha produtos por isso o código!


Nesse caso na tela de exibição dos produtos você vai fazer o seguinte

SELECT
C.N_Cad,
C.Nome,
P.CodProd,
P.Nome
FROM Cad_Cliente C
INNER JOIN RelaClienteProduto CP ON (C.N_Cad = CP.N_Cad)
INNER JOIN Cad_Prod P ON (CP.CodProd = P.CodProd)
WHERE C.N_Cad = CODIGO_DA_VARIAVEL_APOS_LOGIN


Com esse SELECT você saberá que existe um cliente com produto relacionado!

Isso é somente uma ideia para refrescar sua mente!
Tópico encerrado , respostas não são mais permitidas