Então, qdo eu escrevi em duplicar valores era pra não colocar o campo Nome_prod na tabela Tbl_ProdutosPedido. Vc já tem esse campo na tabela produtos então não precisa duplicar em outra tabela senão vc vai ter q fazer atualizações simultâneas nas duas tabelas com esse campo.
O q vc fala em "folha para inserir dados" é normal aparecer qdo vc faz relacionamentos no access com isso não se preocupe.
Vc tem q ligar a tabela clientes na tabela tbl_produtosPedidos e não na tabela produtos ok?? Pq? Pq desta forma vc sabe de qual cliente é qual pedido e quais os produtos relacionados e quem fez a venda. Nesta tabela q vai ser uma "intermediária" duma relação N para N tanto para Produtos - Pedidos - Clientes - Funcionarios vai conter:
- chave primária da própria tabela
- 4 chaves estrangeiras sendo: uma da tabela Produtos, uma da tabela pedidos, uma da tabela Clientes e uma da tabela funcionario
- Um campo qtde q conterá a qtde do produto pedido.
- Um campo data para saber qdo foi realizado o pedido
- Um campo preço para cada unidade
Pra ficar legal o certo seria vc fazer uma tabela para 2 tabelas com relação N para N
porém neste caso não precisa pois só temos uma relação N par N as outras são 1 para N.
Exemplo:
temos um produto q pode pertencer a vários pedidos
temos um pedido q pode conter vários produtos
Então criamos uma tabela Produtos x Pedidos (N PARA N)
temos um pedido q pertence somente a um único cliente
temos um cliente q pode fazer vários pedidos
Então temos uma relação 1 para N
temos um pedido q pertence a somente um único funcionário
temos um funcionário q lança vários pedidos
Então temos uma relação 1 para N
Bom com estes dados pode-se fazer numa única tabela...
O q vc tem q pensar é assim:
Tenho a tabela pedidos. Com o código do pedido eu vou na tabela Produtos x Pedidos e localizo o pedido q eu quero. Vejo quais produtos são daquele pedido, por meio do código do produto, vejo qual cliente fez o pedido, por meio do código do cliente, vejo qual funcionário lançou, por meio do código do funcionário.
Entendeu com funciona?? E tenha isso em mente: caso o campo em questão não seja chave eu não posso repeti-lo em outra tabela!!
Retire da tabela tbl_pedidos o código do vendedor, o código do cliente e o nome também pois não pode duplicar um campo não-chave pois, como disse antes, vc teria q atualizar em cada tabela q o campo não-chave estaria, e retire qq outro campo q não pertença especificamente ao pedido. Talvez seja bom vc criar uma tabela banco para conter os bancos q irão ser cadastrados e uma tabela agência q será ligada com a tabela banco pois um banco tem N agências ceeeeeeerto??
Crie uma chave estrangeira nas tabelas funcionarios, produtos, pedidos e clientes. Em cada uma dela vc vai relacionar a chave primária com a correspondente na tabela Produtos x Pedidos.
O total vc pode tirar na hora ok? Pq vc somente soma os registros daquele pedido específico e vc tem o total sem precisar gravar...
Exemplo:
Select Funcionarios.Func_salariofixo + sum(Funcionarios.comissao * (tbl_ProdutosPedidos.Preco * tbl_ProdutosPedidos.Qtde)) FROM Funcionarios, tbl_produtosPedidos WHERE Funcionarios.codigo_func = tbl_ProdutosPedidos.Cod_func AND tbl_produtosPedidos.DataPed BETWEEN data1 AND data2
A consulta acima tem a idéia de se obter o salário total de um funcionário dentro de um período q pode corresponder a um mês por exemplo.
Rapaz, eu fiz essa consulta na hora nem sei tá certa mas a idéia é esta...
Outra coisa... não sei se precisa colocar uma tabela entre produtos e fornecedores.
Um produto vem de apenas um fornecedor certo?? Digamos q temos bananas... vc tem 3 fornecedores q vendem bananas temos uma relação N para N? Teoricamente sim mas eu não vejo isso com muita freqüência... se 3 fornecedores fornecem o mesmo produto deve ter um motivo em particular... vai ver um ou dois somente não basta. Tem q ter 3 para suprir mas veja q é um caso à parte... se for o caso acho q tudo bem mas ainda assim teria q pensar mais um pouco. Confirme com o cliente se é isso mesmo q vai acontecer...
acho q é só... ufa!!!
qq dúvida estamos ae
t+
obs.: Ainda assim temos q analisar + o sistema... ok?? Isso leva um certo tempo dependendo de experiência, habilidade para conseguir extrair do cliente o q ele quer (é verdade!! As vezes nem o cliente sabe exatamente o q ele quer e vc tem q ajudá-lo a descobrir), entre outros fatores... vamos com calma q vc consegue.