• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

filipemm

Dúvida relação BD

12 mensagens neste tópico

Boas...

Estou a fazer um programa em VB6 com BD em Access e surgiu aqui uma pequena dúvida..

1288160328.jpg

Na tabela vendas pretendo fazer vendas com um ou mais produtos pelo que não sei se, da forma que tenho, mais do que um produto será permitido...

E, nos produtos, um produto pode dar para várias vendas e para vários orçamentos..

A minha dúvida é mesmo se estas relações estão correctas..

Não sei se me fiz entender bem..  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

cá para mim tens que criar uma tabela de detalhe da venda.

Para ligares a venda ao produto.

Caso contrário vais estar a repetir uma ´serie de dados.

Imaginando uma Factura... tens um único cabeçalho... mas uma série de linhas de produtos ;-)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dessa forma cada venda tem apenas um produto, não faz o queres.

O normal nesses casos é usares linhas de venda. Uma venda tem os dados comuns, e pode ter várias linhas de venda. Cada linha de venda tem apenas uma venda associada e tem os dados específicos para cada produto, como valores, quantidades, ids, etc.

Assim para cada venda crias uma linha para cada produto e consegues fazer o que pretendes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

cá para mim tens que criar uma tabela de detalhe da venda.

Para ligares a venda ao produto.

Caso contrário vais estar a repetir uma ´serie de dados.

Imaginando uma Factura... tens um único cabeçalho... mas uma série de linhas de produtos ;-)

Exacto.. esse exemplo da factura pode-se aplicar aqui..

Vários produtos na mesma factura...

Sendo assim, esta deverá ser uma relação de muitos para muitos certo?

E tenho que introduzir uma tabela no meio dos produtos e vendas com os campos idProduto e idVenda??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dessa forma cada venda tem apenas um produto, não faz o queres.

O normal nesses casos é usares linhas de venda. Uma venda tem os dados comuns, e pode ter várias linhas de venda. Cada linha de venda tem apenas uma venda associada e tem os dados específicos para cada produto, como valores, quantidades, ids, etc.

Assim para cada venda crias uma linha para cada produto e consegues fazer o que pretendes.

Acho que te percebi +/-..

Mas como é que faço isso das linhas de venda?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alinda venda será a tal linha intermédia...onde terás o Id da Venda,  O id do produto vendido, as quantidades, o preço, a tx de IVA... e por aí fora... as características relativas ao produto.

Já a tabela de vendas..poderá ter agora por exemplo o dia, a hora, o funcionário que vendeu...e por ai fora... Características da Venda ;-)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alinda venda será a tal linha intermédia...onde terás o Id da Venda,  O id do produto vendido, as quantidades, o preço, a tx de IVA... e por aí fora... as características relativas ao produto.

Já a tabela de vendas..poderá ter agora por exemplo o dia, a hora, o funcionário que vendeu...e por ai fora... Características da Venda ;-)

Acho que não me percebeste bem..

Eu quero é utilizar um ou mais produtos para a mesma venda, mas produtos diferentes, com id's diferentes, ou seja, com o mesmo idVenda, pretendo ter vários idProduto...

Como é que faço isso?? Ponho uma tabela no meio das vendas e dos produtos com o id de cada um?? Assim dá?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Reformulando

A venda é única... E pode ser inscrita na tabela de vendas.

Características possíveis para a venda:

ID da venda

Data/ Hora

Funcionário

Cliente

Eventualmente valor total da factura

Depois na Tabela de Linhas venda Vais inscrever

O Id da venda (que vai ser sempre o mesmo)

O Produto Vendido (que varia de acordo com o produto que estas a vender)

As quantidades

O preço

A taxa de Iva

O valor total para o produto.

Não sei se fui mais claro... mas eu estou a perceber claramente o que queres.

Na realidade Vais fazer um insert na tabela de Vendas e n na tabela de linhas de vendas... tantos como os produtos que venderes.

Espero que agora tenha sido mais claro

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok.. então basicamente era o que eu estava a dizer..

Meto mais uma tabela com o idVenda e o idProduto (e, eventualmente a quantidade) no meio das vendas e produtos...

Assim, pelo idVenda vou buscar o resto dos dados à tabela vendas e pelo idProduto à tabela produtos..

E quando fizer o insert da venda tenho que inserir dados na tabela vendas e na nova tabela..

Correcto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

basicamente..sim

Agora se fosse comigo..o form controlava as vendas e depois as linhas de venda ficavam a aparecer numa listview ou coisa do género.. (como por exemplo os sobformulários em acess).

Depois essa listviem abria-te o formulário de linhas de vendas para editar ou inserir uma linhda de venda nova

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

basicamente..sim

Agora se fosse comigo..o form controlava as vendas e depois as linhas de venda ficavam a aparecer numa listview ou coisa do género.. (como por exemplo os sobformulários em acess).

Depois essa listviem abria-te o formulário de linhas de vendas para editar ou inserir uma linhda de venda nova

LOOOL... Por acaso até tenho +/- assim..

Depois quando acabar o programa ponho aqui para veres..

Obrigado pela ajuda :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora