MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 22/8/2020, 23:49

    Boa noite galera.
    Estou desenvolvendo um sistema de Restaurante com todos os detalhes possíveis que necessita.
    Esbarrei em uma dificuldade.
    O restaurante as vezes faz promoção tipo: uma cerveja custa R$ 6,00, mas a cada 3 cervejas consumidas, ele paga R$ 15,00 ao invés de R$ 18,00.
    Como poderia calcular isso. Até porquê o cliente pode consumir mais do que isso. Ou seja, seria múltiplo de 3.
    Segue a imagem da tela.
    Obrigado

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Duvida11


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Contar quantidade de cervejas em promoção para conta final. 90dssg para agradecer a dica que solucionou seu problema.
    crysostomo
    crysostomo
    VIP
    VIP

    Respeito às Regras 50%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1340
    Registrado : 23/01/2018

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  crysostomo em 23/8/2020, 00:04

    Boa noite Claudio, estou fora do pc, mas você podia colocar um campo invisivel para condição tipo:
    você tem
    Divisão por mesa
    Total complementar
    campo condição
    Código:
    if coluna de produtos = cerveja and me.coluna de quantidade=< 3 then
                               me.Total complementar =(valorTotal) - 3

    acho que funciona essa


    .................................................................................
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 23/8/2020, 00:31

    Obrigado Crys.
    Mas estes campos não contam para o total da despesa da mesa.

    A divisão é somente para a quantidade de pessoas na mesa. Repare que nesta mesas estão 2 pessoas: CLA e VIN, então o sistema conta quantas pessoas tem na mesa automaticamente.

    E o Total de Complementos são os complementos internos do Produto, tipo: Existe uma porção de linguiça na mesa, eles acrescentaram batata frita nesta porção, então o sistema calcula este complemento o soma ao total da mesa.

    Então este código que me passou não vai dar certo.
    Mas muito obrigado pela ajuda.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Contar quantidade de cervejas em promoção para conta final. 90dssg para agradecer a dica que solucionou seu problema.
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 27/8/2020, 22:31

    Boa noite.
    No aguardo ainda. Por isso não fechei o tópico.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Contar quantidade de cervejas em promoção para conta final. 90dssg para agradecer a dica que solucionou seu problema.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1146
    Registrado : 13/12/2016

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Alexandre Fim em 28/8/2020, 00:11

    Boa noite Claudio,

    Minha sugestão é incluir um campo ou botão de desconto, onde o usuário colocaria o Valor (R$) ou o % Desconto.
    No teu sistema é possível editar os produtos da Lista?
    Se sim, inclua o campo "Desconto" e depois é só fazer o cálculo

    Espero ter ajudado.

    Boa sorte.


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 28/8/2020, 05:08

    Alexandre obrigado pela dica, mas não é bem isso.
    A questão é que precisava que o sistema calculase esse valor coforme a dúvida inicial. Imagina a casa cheia e ter que fazer as contas em cada pedido?

    Até porque o cliente nunca pede todas as bebidas em uma única vez. Se fosse em uma única vez seria fácil fazer isso.
    Mesmo assim obrigado.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Contar quantidade de cervejas em promoção para conta final. 90dssg para agradecer a dica que solucionou seu problema.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3588
    Registrado : 04/04/2010

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Avelino Sampaio em 28/8/2020, 10:16

    Olá!

    Não entendi muito bem a conta.  Se o cliente consome 5 unidades, qual o preço a pagar ?

    Aguardamos


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 28/8/2020, 14:12

    Bom dia Avelino.
    Nesse caso ele pagaria 27,00 já que 2 estão fora da promoção, se fosse ao preço normal pagaria 30,00.
    3 X 6 = 15,00
    2 X 6 = 12,00
    Total = 27,00

    É uma forma de promoção para alavancar vendas.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3588
    Registrado : 04/04/2010

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Avelino Sampaio em 28/8/2020, 14:31

    Claudio

    Então chegaríamos na seguinte fórmula:

    PreçoFinal = (quantidadeConsumida * Preço unitario) - ((QuantidadeConsumida\3) * TotalDesconto)


    Nota:  Barra invertida no VBA tem como resultado o valor inteiro.  Então 5\3 retorna 1 e 6\3 retorna 2

    Exemplo:  Consumiu 5 unidades

    (5 * R$6,00) - ((5\3) * R$3,00) :::> R$30,00 - R$3,00 :::> R$27,00


    Exemplo: Consumiu 6 unidades

    (6 * R$6,00) - ((6\3) * R$3,00) :::> R$36,00 - R$6,00 :::> R$30,00


    Exemplo: Consumiu 7 unidades

    (7 * R$6,00) - ((7\3) * R$3,00) :::> R$42,00 - R$6,00 :::> R$36,00


    Sucesso!


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.

    Cláudio Machado gosta desta mensagem

    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 28/8/2020, 14:54

    Acho que ajuda Avelino.
    Vou ter que fazer um contador do produto. Até porque não será um único produto que poderá ter essa promoção.
    Além de bater a cabeça para fazer esta fórmula funcionar. Porque você é está trabalhando com números exatos e o sistema será aleatório.
    Quando chegar em casa vou tentar aplicar isso é retorno.
    obrigado amigo.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3588
    Registrado : 04/04/2010

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Avelino Sampaio em 28/8/2020, 16:38

    Claudio,

    não seria complicado.  Se a promoção encerrar, basta zerar na tabela o valor do desconto

    Exemplo: Consumiu 7 unidades - promoção encerrada

    (7 * R$6,00) - ((7\3) * R$0,00) :::> R$42,00 - R$0,00 :::> R$42,00


    Bom, neste caso o projeto ficaria engessado na questão da fórmula fixa.  Uma possibilidade seria guardar na tabela a montagem das fórmulas de desconto. Com um formulário específico, o senhor possibilitaria o dono/gerente de criar a fórmula que desejar.  Clique AQUI é veja neste meu artigo a mágica da função Eval(), tornando a implementação bem plausível.

    Bom estudo!


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 28/8/2020, 17:06

    Agora acho que a luz acendeu. Bem legal este seu artigo. Acho que vou usar isso sim.
    Obrigado amigo.
    Retorno assim que resolver.
    Ainda estou na rua.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Contar quantidade de cervejas em promoção para conta final. 90dssg para agradecer a dica que solucionou seu problema.
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 29/8/2020, 03:08

    Avelino consegui fazer, ficou perfeito.
    Só têm um problema...
    Quando eu incluo outros produtos que também está em promoção, não retorna os valor, retorna somente um único produto.
    Tem como usar a fórmula em uma consulta?
    Acho que não né?
    Obrigado amigo.

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Duvida12

    Veja que a fórmula está funcionando corretamente.
    A Brahma Duplo Malte está saindo a R$ 36,00, mas logo abaixo mostra o valor com a promoção á R$ 30,00. Corretamente.

    Só que a Império Gold também está na promoção e não é exibido.

    Fiz a função desta forma:

    Código:

    Public Function fncCalcula()
    Dim strFormula$
    On Error Resume Next
    Me!total_promocao = Null
    '([QC]*[PU])-([QC]\[QP])*[QP]
    QC = DLookup("quantidade", "cns_Venda_Quant_Promocao")    ' QUANT CONSUMIDA
    PU = DLookup("valor_unit", "cns_Venda_Quant_Promocao")  ' PREÇO UNITÁRIO
    QP = DLookup("quant_promocao", "produtos", "id_produto = " & DLookup("produto_id", "cns_Venda_Quant_Promocao"))  ' QUANTIDADE EM PROMOÇÃO

    Formula = DLookup("formula_promocao", "produtos", "id_produto = " & DLookup("produto_id", "cns_Venda_Quant_Promocao"))

    strFormula = Replace(Replace(Replace(Me!Formula, "[QC]", Me!QC), "[PU]", Me!PU), "[QP]", Me!QP)
    Me!total_promocao = Eval(strFormula)
    DoCmd.RunCommand acCmdSaveRecord

    End Function


    Sei que desta forma está pegando somente o primeiro registro na consulta "cns_Venda_Quant_Promocao".
    Por isso seria ideal fazer direto na consulta do form, assim já trazia o resultado para cada ítem.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Contar quantidade de cervejas em promoção para conta final. 90dssg para agradecer a dica que solucionou seu problema.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3588
    Registrado : 04/04/2010

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Avelino Sampaio em 29/8/2020, 10:11

    Claudio,

    você pode chamar a função direto na consulta.  

    - Passe a função para um módulo Global
    - Crie o campo virtual Valor_Promocao na consulta, chamando pela função.  Exemplo:

    Valor_Promocao: fncCalcula([produto_id];[quantidade];[valor_unit])


    Observe que os parâmetros da função estão capturando os valores dos campos id, quantidade e valor unitário.

    Veja como fica a escrita da função:

    Public Function fncCalcula(varId, varQC, varPU) as variant
    Dim strFormula$
    DIM varQP

    'On Error Resume Next 'Ative esta linha somente quando encerrar todos os testes

    '------------------------------------------------------------------------
    'Captura a fórmula e a quantidade promocional da tabela produtos
    'Fórmula exemplo para a cerveja ([QC]*[PU])-([QC]\[QP])*[QP]
    '-------------------------------------------------------------------------

    varQP = nz(DLookup("quant_promocao", "produtos", "id_produto = " & varId),0)
      '--- se produto não estiver na promoção, retorna função com valor zero e encerra
      If varQP = 0 then
         fncCalcula =0
         exit function
      end if
    strFormula = DLookup("formula_promocao", "produtos", "id_produto = " & varId)

    '--------------------------------------------
    'passa os valores para a fórmula
    '--------------------------------------------

    strFormula = Replace(Replace(Replace(strFormula, "[QC]", varQc), "[PU]", varPU), "[QP]", varQP)

    '----------------------------------------------------------
    'A função Eval() faz o cálculo e entrega para função fncCalcula
    '---------------------------------------------------------------------

    fncCalcula = Eval(strFormula)

    End Function


    Aguardamos


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.

    ManuelQuim gosta desta mensagem

    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 5/9/2020, 21:15

    Boa tarde Avelino.
    Desculpe a demora, mas estava ajustando para mostrar exatamente o final feliz.
    Sua ajuda foi fundamental mais uma vez, obrigado amigo!

    veja como ficou.

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Duvida15

    Agradeço imensamente sua ajuda.

    Abraço e bom fim de semana!


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Contar quantidade de cervejas em promoção para conta final. 90dssg para agradecer a dica que solucionou seu problema.

    Avelino Sampaio gosta desta mensagem

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3588
    Registrado : 04/04/2010

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Avelino Sampaio em 5/9/2020, 22:22

    Claudio,

    é gratificante poder ajudar.

    Sucesso!


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.

    Cláudio Machado gosta desta mensagem

    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 14/9/2020, 21:51

    Avelino boa tarde.
    Achei que esta fórmula funcionaria para qualquer produto, mas na verdade não funciona ou não estou sabendo trabalhar com ela.
    Agora o cliente tem um produto que custa R$ 3,50 cada, comprando 3 unidades sai a R$ 10,00 ao invés de 10,50.

    Gostei muito da forma que faz esses cálculos, mas ainda estou meio perdido, ainda mais quando se trata de valores quebrado com centavos.
    Agradeço sua ajuda amigo.


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Contar quantidade de cervejas em promoção para conta final. 90dssg para agradecer a dica que solucionou seu problema.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3588
    Registrado : 04/04/2010

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Avelino Sampaio em 17/9/2020, 10:23

    Olá!

    É só o senhor observar como montou a sua fórmula:

    ([QC]*[PU])-([QC]\[QP])*[QP]


    O senhor usou QP (quantidade produto) como valor do preço promocional.  O senhor deveria também trazer o valor do desconto(VD).  

    ([QC]*[PU])-([QC]\[QP])*[VD]


    Atente que função fncCalcula() precisar ser ajustada.

    Sucesso!


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.
    Cláudio Machado
    Cláudio Machado
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1618
    Registrado : 17/03/2011

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Cláudio Machado em 17/9/2020, 17:40

    Boa tarde.
    Na verdade QP = Quantidade da Promoção.
    Já havia testado desta forma mas não funciona, aparece o campo limpo.

    Quanto ao ajuste da função fncCalcula() , o que precisa ser feito? Acrescentar este campo [VD], correto?


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  AQUI.
    Não esqueça de clicar no Joinha [Resolvido]Contar quantidade de cervejas em promoção para conta final. 90dssg para agradecer a dica que solucionou seu problema.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3588
    Registrado : 04/04/2010

    [Resolvido]Contar quantidade de cervejas em promoção para conta final. Empty Re: [Resolvido]Contar quantidade de cervejas em promoção para conta final.

    Mensagem  Avelino Sampaio em 17/9/2020, 19:48

    Claudio

    isso!  Observe que a função só está capturando da tabela produtos o campo quant_promocao.  É preciso também capturar o campo do valor promocional.   Deverá acrescentar mais um replace() aninhado.

    Sucesso!


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.

      Data/hora atual: 25/9/2020, 06:46