SISTEMA DE VENDAS
Gente, estou com duvidas em um sistema de vendas que estou começando, bom, queria saber assim, quais tabelas tem que criar?, eu estava tentando mas to só quebrando a cara, hehe, exemplo, certamente teria que ter uma [txt-color=#0000f0]tabvendas[/txt-color]? os campos seriam, [txt-color=#0000f0]codvenda, codcliente, codproduto, quantidade, unit, total[/txt-color], o básico, mas eu tava pensando, como ficaria o [txt-color=#0000f0]codvenda[/txt-color]? sendo que se irá se repetir a cada iten, em uma compra com mais de um item já nao daria certo, se eu mesmo mandar gravar o codvenda repetido poderia até da certo, mas o problema ficaria trabalhando em rede, bom é isso aà galera, se alguem puder me ajudar na lógica, só isso, sem códigos... até mais, um abraço...
ADILSOO, essa duvida que vc está é relacionado a teoria dos banco de dados relacionais e suas 3 Formas.
Leia um pouco de teoria, é sempre bom: http://pt.wikipedia.org/wiki/Banco_de_dados_relacional
Só pra dar um ponta pé inicial: é necessário 2 tabelas (no mÃnimo) pra armazenar as vendas: tbVenda e tbVendaItens
Sendo que na primeira vc guarda os dados principais e na segunda os itens da Venda. Sendo que ambas tabelas são relacionadas pelo campo CodVenda.
Leia um pouco de teoria, é sempre bom: http://pt.wikipedia.org/wiki/Banco_de_dados_relacional
Só pra dar um ponta pé inicial: é necessário 2 tabelas (no mÃnimo) pra armazenar as vendas: tbVenda e tbVendaItens
Sendo que na primeira vc guarda os dados principais e na segunda os itens da Venda. Sendo que ambas tabelas são relacionadas pelo campo CodVenda.
ADILSOO o meu colega SAMUKA disse tudo, é isso mesmo, relacionamento entre tabelas.
Adilsoo,anexei um arquivo para você estudar.
Este exemplo pela sua mensagem acredito que
vai servir.Já enviei para alguns.
Verifique.
Omar
Este exemplo pela sua mensagem acredito que
vai servir.Já enviei para alguns.
Verifique.
Omar
OMAR2011, me desculpe pela crÃtica, mas seu exemplo não faz uso das melhores tecnicas do Banco Relacional. Aconselho a dar uma olhada naquele link que passei acima.
A sua tabela tblPedidos repete o campo data, pra todos os itens do pedido, e essa não é a forma correta de se trabalhar. O relacionamento entre tabelas existe pra evitar repetições de dados. Imagine se o pedido tivesse 30 itens, a tabela teria a informação data repetida 30 vezes (só pra citar o campo existente). Num projeto com poucos campos, pode parecer um problema insignificante, mas num exemplo real essa tabela pode conter muitos campos e os mesmos estarão repetidos para cada item do pedido.
A sua tabela tblPedidos repete o campo data, pra todos os itens do pedido, e essa não é a forma correta de se trabalhar. O relacionamento entre tabelas existe pra evitar repetições de dados. Imagine se o pedido tivesse 30 itens, a tabela teria a informação data repetida 30 vezes (só pra citar o campo existente). Num projeto com poucos campos, pode parecer um problema insignificante, mas num exemplo real essa tabela pode conter muitos campos e os mesmos estarão repetidos para cada item do pedido.
Velho SAMUKA, a questão é de dar uma uma idéia de como
fazer.Aflorar o raciocÃnio da pessoa.Se não forçar a pessoa a
raciocÃnar ela vai ficar com a verdadeira preguiça mental.Lembro
muito bem de um dos participantes do Forum quando fiz uma
pergunta e ele me respondeu.Não vou te dar o PEIXE,mas vou
ensinar você a pescar.Nunca esqueci desse detalhe.
Toda crÃtica construtiva é boa.Pode ter certeza que não vou
ficar chateado por causa do seu comentário.Vou ler.
Valeu.
Omar.
fazer.Aflorar o raciocÃnio da pessoa.Se não forçar a pessoa a
raciocÃnar ela vai ficar com a verdadeira preguiça mental.Lembro
muito bem de um dos participantes do Forum quando fiz uma
pergunta e ele me respondeu.Não vou te dar o PEIXE,mas vou
ensinar você a pescar.Nunca esqueci desse detalhe.
Toda crÃtica construtiva é boa.Pode ter certeza que não vou
ficar chateado por causa do seu comentário.Vou ler.
Valeu.
Omar.
Ola... tive de criar minhas proprias ideias de como fazer uma tabela de venda... e como nosso colega disse.. se vc nao entender de relacionamento de nada vai adiantar continuar programando, pois a programação exige estes esforços...
vou dar uma noção de como um relacionamento deste funciona...
Tabela_cliente (logo explico porque)
Tebela_produtos
Tabela_Venda
Tabela_Liga_venda_produto
na tabela procuto vc vai ter os seus produtos
na tabela cliente vc vai ter os seus clientes
pois bem aqui o trabalho fica divertido...
vc vai fazer uma venda... vc registra a venda que vai ter um ID único as sim como a tabela produtos e a cliente, na tabela liga venda vc tem 2 campos que liga o código único da tabela venda com a tabela produto, este relacionamento também é conhecido como relacionamento vários para vários, onde vc tem varias vendas pra vários produtos, vc tem na tabela um campo que liga a tabela venda com um cliente, isso se vc fez a venda pra um cliente, se não fez ela pode ficar nula.
desta forma quando vc carrega a tabela venda, consegue saber quem foi o cliente que fez a compra, carregando a Tabela_Liga_venda_produto pelo ID da tabela venda vc consegue saber qual foram os produtos vendido para esta venda..
Deu de entender.. ou precisa desenha?
Divirta-se
vou dar uma noção de como um relacionamento deste funciona...
Tabela_cliente (logo explico porque)
Tebela_produtos
Tabela_Venda
Tabela_Liga_venda_produto
na tabela procuto vc vai ter os seus produtos
na tabela cliente vc vai ter os seus clientes
pois bem aqui o trabalho fica divertido...
vc vai fazer uma venda... vc registra a venda que vai ter um ID único as sim como a tabela produtos e a cliente, na tabela liga venda vc tem 2 campos que liga o código único da tabela venda com a tabela produto, este relacionamento também é conhecido como relacionamento vários para vários, onde vc tem varias vendas pra vários produtos, vc tem na tabela um campo que liga a tabela venda com um cliente, isso se vc fez a venda pra um cliente, se não fez ela pode ficar nula.
desta forma quando vc carrega a tabela venda, consegue saber quem foi o cliente que fez a compra, carregando a Tabela_Liga_venda_produto pelo ID da tabela venda vc consegue saber qual foram os produtos vendido para esta venda..
Deu de entender.. ou precisa desenha?
Divirta-se
em vez de criar tantas tabelas não seria melhor criar uma consulta então e fazer o relacionamento entre elas?, assim a cada dado inserido a consulta será atualizada e jogará os dados na tela...
nao sei no seu caso.. mas o vb nao aceita editar uma tabela relacionada se vc usar um recordset, a menos que use uma grid pois ela cuida do relacionamento pra vc), no meu caso eu uso recordset independentes e assim tenho controle total do que esta sendo inserido em uma tabela ou o que esta sendo lido... ficando por minha conta os relacionamentos evitando assim informações erradas em um relacionamento mau feito. mas no caso de exibir.. isso sem problema...
no caso de inserir vc precisa mesmo de recordset separado.. pois como vai fazer a inserção de uma tabela relacionada de vários pra vários em uma consulta? acho impossivel... use o modelo que passei que da certinho
no caso de inserir vc precisa mesmo de recordset separado.. pois como vai fazer a inserção de uma tabela relacionada de vários pra vários em uma consulta? acho impossivel... use o modelo que passei que da certinho
Na hora de gravar uma venda, terei que gravar na tabitens os itens da compra repetindo o codigo da venda certo? e em outra o codigo da venda e o codigo do cliente? aà eu relaciono elas e consigo saber qual venda foi de qual, estou certo?
ADILSOO, é isso aÃ!
Internamente o banco de dados cria consistencia nos dados através dos relacionamentos.
Internamente o banco de dados cria consistencia nos dados através dos relacionamentos.
Tópico encerrado , respostas não são mais permitidas