USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  duvida em lógica
Maxcim
GUARULHOS
SP - BRASIL
Postada em 16/05/2007 14:38 hs            
olá amigos,
 
o problema hj é simples, tennhu duvida na lógica de um projeto...
tenho o castro de produtos, e o cadastro de fornecedores.
tudo ia bem qdo tinha-se apenas 1 fornrcedor para cada produto.
eu tinha lá na base de dados um campo com o código do fornecedor
e tudo rodava bem... dai surgiu a nececidade de cadastrar mais fornrcdores para o mesmo produto. inclui mais 4 campos cod_fornecedor no banco( cod_forn1,cod_forn2,cod_forn3,cod_forn4) e ao buscar  produtos por fornecedor  ou fornrcredor por produtos,eu buscava no 4 campos....
até ai beleza.....
mas agora tem N fornecedores para cada produto, e não dá pra deixar N campos para fornecedor na cadastro de produtos....
como fazer esse cadastro? como vcs fazem a referencia a forncerdores?
 
desde já agradeço
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 16/05/2007 16:12 hs            

Esse relacionamento é N para N.

Vc tem 1 produto que possui vários fornecedores e um fornecedor que fornece vários produtos certo?

Vc vai fazer uma tabela própria de fornecedores na qual não é repetido o fornecedor.
TABELA: TB_FORNECEDOR
ID   FORNECEDOR
1    FORNECEDOR X
2    FORNECEDOR Y
3    FORNECEDOR Z

Depois vc vai criar uma tabela de relacionamento entre produto e fornecedor:

TABELA: TB_PROD_FORNECEDOR

ID    ID_PRODUTO     ID_FORNECEDOR
1     001                 1
2     001                 2
3     001                 3
4     002                 1
5     002                 3

Esta tabela conterá o id do produto e o id do fornecedor
Para consultas vc irá fazer um JOIN entre estas tabelas. Quero consultar por exemplo todos os fornecedores do produto 001:

Dim SQL as String

SQL = "SELECT TB_PRODUTO.ID,TB_PRODUTO.PRODUTO, TB_FORNECEDOR.FORNECEDOR FROM TB_PRODUTO INNER JOIN TB_PROD_FORNECEDOR ON (TB_PROD_FORNECEDOR.ID_PROD = TB_PRODUTO.ID) INNER JOIN TB_FORNECEDOR ON (TB_PROD_FORNECEDOR.ID_FORNECEDOR = TB_FORNECEDOR.ID) WHERE TB_PRODUTO.ID = '001'"

Recordset.Open SQL,Conexao_ADO

blz? Só não tenho certeza da sintaxe da SQL acima pq não tem como eu testar mas qualquer problema postae...

falows!

TÓPICO EDITADO
   
Maxcim
GUARULHOS
SP - BRASIL
Postada em 16/05/2007 16:26 hs            

Ghost , excelente ideia... vou imprementar aki....
obrigado
 
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página