MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

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

    Compartilhe

    dwedemann
    Novato
    Novato

    Respeito às Regras 100%

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

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

    Mensagem  dwedemann em Sex 04 Maio 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.
    avatar
    Maicon
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  Maicon em Sex 04 Maio 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]












    "http://www.maximoaccess.com/t1533-funcao-dlookup-explicacao"
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  Avelino Sampaio em Sex 04 Maio 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!

    dwedemann
    Novato
    Novato

    Respeito às Regras 100%

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

    Obrigado, pela dica!

    Mensagem  dwedemann em Dom 06 Maio 2018, 01:01

    Problema resolvido!
    avatar
    Maicon
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  Maicon em Seg 07 Maio 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
    ifmultiplicao.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (102 Kb) Baixado 10 vez(es)

      Data/hora atual: Sex 25 Maio 2018, 04:32