Phillip_Junior 11/7/2017, 12:47
Olá
Que bom que ajudou.
Quanto a não funcionar: Se não existir o código de venda no sub foram ou numa list capturado do seu form para cada produto vendido, não teremos como identificar quais produtos pertencem aquela venda. . Mesmo que use o código do cliente . Pois se esse cliente se comprar mais de uma vez, quando for identificar os produtos pelo código dele irá puxar os produtos de todos as vendas. Então realmente não iria funcionar.
Importante mesmo é quando tivermos dificuldade com algo, é buscarmos a solução e se vier com um código pronto, entender lendo esse código diversas vezes e pesquisando porque tal escrita em tal lugar funciona de tal maneira. Tipo como uma condição que sabemos ser If = Se, then = Então e assim por diante.
Como expliquei, são exemplos simples mais de grande valia e estudo do mecanismo.
Se saiu sua dúvida referente a abertura do tópico, de um resolvido nesse e qualquer dúvida agora daqui pra frente na adaptação do seu abra um tópico com o título da dúvida que estaremos aqui pra tentar ajudar ok?
Obs:
Esqueci de explicar sobre o exemplo ontem.
Vc no form_vendas pode escolher o cliente, e da mesma forma q coloquei o código para ser aberto o campo quant em F4 vc consegue fazer q apertado F7 abra um novo formulário com o nome dos clientes numa list com um campo pesquisar para pesquisa rápida ou todos os cadastrados. E basta colocar no evento da list ao clicar que clicando sobre o nome do cliente na list capture os dados e jogue nos campos do frm_vendas.
No campo quantidade será sempre 1. Mas se quiser aumentar essa quantidade basta dar um F4 e digitar a quantidade desejada e apertar enter que o como atualiza e passa para o campo código.
Já no campo código do produto que pode ser feito com um leitor de código de Barra, uma vez q tera o foco nele, usamos o mesmo esquema para buscar um produto. Quase todos os leitores tem programação de ao ler o código, ele mesmo da o comando enter, Ou seja, vc tem praticidade ao inserir os produtos vendidos. E pode utilizar o mesmo esquema para cadastrar os produtos.
Quanto vc clica no botão finalizar. Vc pode adaptar com muitas coisas. Verificar se a venda finalizou como campo dinheiro ok, ou criar um campo para depois q vc o campo dinheiro e troco estiver ok, apresentar 1 caso contrário 0 e criar uma condição que se for 1 aceita finalizar caso contrário se 0 apresenta o erro. Também pode ser feito condições no seu campo dinheiro. Que se o valor digitado for menor que o total da uma opção a ser feito ou não aceita.
Já na tela de entregas. O esquema é simples. Ao clicar no botão finalizar ele salva o registro das vendas na tbl detalhes e vendas, mas não finaliza. Ao abrir o frm_entregas, ele captura os dados do frm_venda e com o código da venda capturado ele busca os dados daquela venda na tbm detalhes e apresenta na list.
Importante notar, que no exemplo que dei, se quiser voltar na tela de vendas e alterar algum item ou dados,(o que não é o certo fazer, já que para finalizar deverá ter observado sobre alterações e se está tudo certo etc), eu não coloquei opção de alterar algum dado no exemplo com list, (oq poderia ser feito clicando sobre a linha do produto num comando) mas mesmo no com sub form se alterar algum dado apos finalizar, se clicar novamente em finalizar, ele irá gravar os dados na tbl detalhes novamente repetindo os dados dos produtos. Então o correto a se fazer é criar uma condição no botão finalizar q se os produtos daquela venda já existem para o código daquela venda, somente altera dados ou acrescenta se for novo. Mas explico q não é o certo voltar na tela vendas para alterar depois de finalizar. Se quiser alterar ou acrescentar produtos naquela venda, crie um form q ao abrir vc possa digitar o código da venda e ele busque as informações dessa venda em forma de editar alterar e ai sim possa mudar algo na venda.
Para alterar ou cancelar algum produto antes de finalizar a venda, utilize um frm com um campo onde ao digitar o número campo item (não colocado nesses exemplo) ele selecione a linha desse item e cancele a venda dele. Alterar não é bom. Se algo deu errado, cancele o produto nessa venda e leia o código novamente.
Para acrescentar o campo item basta inserir ele na tbl detalhes.
E crie uma tabela q capture os dados ações de cancelamentos e salve para ter uma lista dos produtos cancelados naquele dia identificando data código venda e usuário.
Já no frm_pesquisar entrega
Digamos q o entregador já entregou. Ao chegar na loja ele entra nesse frm e digita o código da venda q localiza os dados da venda e já passa o foco para o campo entregue ou não gravando os dados na acrescentando dados na tbl entregas.
E no frm_lista de entregas, fiz só um exemplo onde apresenta a lista geral, mas vc pode criar condições de pesquisa para apresentar os que estão sem entregar. Ou por data.
Por fim! É por esse caminho.
Obs: exemplo para teste de um produto cadastrado.
3333333333333
2222222222222
1111111111111
Treze vezes o número 3, 2 ou 1. Números que constam na maioria no geral dos códigos de barras.
Abraços e sucesso.