MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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


3 participantes

    [Resolvido]Usar IF em formulário para multiplicação

    avatar
    dwedemann
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 28/08/2014

    [Resolvido]Usar IF em formulário para multiplicação Empty [Resolvido]Usar IF em formulário para multiplicação

    Mensagem  dwedemann 4/5/2018, 01:05

    Formulário:

    Campo1: txt_TipoCobranca
    Campo2: txt_DataInicial
    Campo3: txt_DataFinal
    Campo4: txt_DiasTotal (txt_DataFinal-txt_DataInicial)
    Campo5: txt_SubTotal

    Coloquei no evento "após atualizar" do campo txt_DataFinal o seguinte código:
    Private Sub DataFinal_AfterUpdate()
    'respostas possíveis para txt_TipoCobranca = "Diária";"Semana";"Quinzena";"Mensal";"Bimestral";"Trimestral";"Quadrimestral";"Semestre";"Anual"
    If txt_TipoCobranca = "Diária" Then
    Me.txt_SubTotal.Value = Me.txt_TotalDias * Me.txt_Custo
    ElseIf txt_TipoCobranca = "Semana" Then
    Me.txt_SubTotal.Value = Me.txt_TotalDias / 7 * Me.txt_Custo
    ElseIf txt_TipoCobranca = "Mensal" Then
    Me.txt_SubTotal.Value = Me.txt_TotalDias / 30 * Me.txt_Custo
    ElseIf txt_TipoCobranca = "Bimestral" Then
    Me.txt_SubTotal.Value = Me.txt_TotalDias / 60 * Me.txt_Custo
    ElseIf txt_TipoCobranca = "Trimestral" Then
    Me.txt_SubTotal.Value = Me.txt_TotalDias / 90 * Me.txt_Custo
    ElseIf txt_TipoCobranca = "Quadrimestral" Then
    Me.txt_SubTotal.Value = Me.txt_TotalDias / 120 * Me.txt_Custo
    ElseIf txt_TipoCobranca = "Semestre" Then
    Me.txt_SubTotal.Value = Me.txt_TotalDias / 180 * Me.txt_Custo
    ElseIf txt_TipoCobranca = "Anual" Then
    Me.txt_SubTotal.Value = Me.txt_TotalDias / 360 * Me.txt_Custo
    End If

    End Sub

    Meu problema ele só faz a conta na primeira linha do formulário contínuo.
    Maicon
    Maicon
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 267
    Registrado : 08/09/2012

    [Resolvido]Usar IF em formulário para multiplicação Empty Re: [Resolvido]Usar IF em formulário para multiplicação

    Mensagem  Maicon 4/5/2018, 08:31

    Para fazer o que pretende teria que usar dlookup e VBA é bastante complexo eu prefiro resolver este problema desta forma criei uma tabela com nome de TipoCobranca_tbl com os campos :

    id_TipoCobranca (Numeração Automática / chave primária )
    Tipo ( Diária,Semanal,Quinzenal,Mensal , etc...)
    Fator ( 1 , 7 , 15 , 30 , etc...)

    Sendo assim :

    Lá no formulário no CampoSubTotal fica Assim :

    =[DiasTotal]/[Fator]*[Custo]












    "https://www.maximoaccess.com/t1533-funcao-dlookup-explicacao"
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Usar IF em formulário para multiplicação Empty Re: [Resolvido]Usar IF em formulário para multiplicação

    Mensagem  Avelino Sampaio 4/5/2018, 10:05

    Olá!

    Uma outra opção é usar o SELECT

    Private Sub DataFinal_AfterUpdate()
    Dim k%
    Select Case Me.txt_TipoCobranca
    Case "Diária" : k = 1
    Case "Semana" : k = 7
    Case "Quinzena" : k = 15
    Case "Mensal" : k = 30
    Case "Bimestral" : k = 60
    Case "Trimestral" : k = 90
    Case "Quadrimestral" : k = 120
    Case "Semestre" : k = 180
    Case "Anual" : k = 360
    End Select
    Me.txt_SubTotal.Value = Me.txt_TotalDias / k * Me.txt_Custo
    End sub


    Sucesso!
    avatar
    dwedemann
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 28/08/2014

    [Resolvido]Usar IF em formulário para multiplicação Empty Obrigado, pela dica!

    Mensagem  dwedemann 6/5/2018, 01:01

    Problema resolvido!
    Maicon
    Maicon
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 267
    Registrado : 08/09/2012

    [Resolvido]Usar IF em formulário para multiplicação Empty Re: [Resolvido]Usar IF em formulário para multiplicação

    Mensagem  Maicon 7/5/2018, 08:44

    Fiquei na dúvida qual exemplo usou , como não poderia deixar de aprender com Mestre Avelino testei o exemplo dele e não funcionou justamente por quê repetia todos o mesmo valor em todas as linhas em se tratando de formulário contínuo. Então lembrei de um exemplo do Mestre Dilson e segue ai o exemplo unindo os dois códigos e funcional . Access 2010 / Windows 7 32 Bits.
    Anexos
    [Resolvido]Usar IF em formulário para multiplicação Attachmentifmultiplicao.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (102 Kb) Baixado 29 vez(es)

    Conteúdo patrocinado


    [Resolvido]Usar IF em formulário para multiplicação Empty Re: [Resolvido]Usar IF em formulário para multiplicação

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 11/5/2024, 16:36