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]Variáveis global entre sub's

    Compartilhe

    leo.gool
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 27/02/2018

    [Resolvido]Variáveis global entre sub's

    Mensagem  leo.gool em Seg 14 Maio 2018, 11:31 am

    Olá, tenho que calcular a diária de um serviço com base no tipo do motorista que irá executar o serviço, para isso eu verifico qual o tipo do motorista, caso ele seja contratado ele tem um valor fixo de viagem, mas caso este seja efetivo o valor da diária deve ser perguntado, eu faço essa verificação após o formulário ser atualizado, não faço depois da atualização da caixa de combinação pois eu posso ter dois motoristas caso a quilometragem informada seja superior ou igual a 500 km, o problema é que após atualizar o motorista pode sempre ser efetivo, por isso eu coloquei duas condições, ele ser efetivo e me certificar de que essa seja a primeira seleção após uma atualização, por isso tenho no evento click das caixas de combinção de seleção dos motoristas a atribuição de valor, logo eu só peço o valor da diária do motorista caso essa for a minha primeira seleção, pois se for julgar pela atualização ele vai pedir novamente a quilometragem do outro motorista, a lógica está correta, o unico problema é que o valor que serve de orientação vem de outra sub, então preciso ou passar o valor da variável como parâmetro ou criar uma variável global, eu tentei a segunda opção, meu problema é apenas dessa passagem de parametro, segue o código..

    Código:

    Public verPm As Integer
    Public verSm As Integer

    Sub combMotorista_Click()
        verPm = 1
        Me.Requery
    End Sub
    Sub combSmoto_Click()
        verSm = 1
        Me.Requery
    End Sub
    Private Sub Form_AfterUpdate()

        'CALCULAR QUANTIDADE DE DIÁRIAS
        On Error Resume Next
        Dim Diarias As Double
        Dim valor As Double
        Diarias = DateDiff("n", dataInicio & " " & horaInicio, dataFim & " " & horaFim) / 1440
        valor = Left(Diarias, 3)
        qtdDiarias = valor
        
        'CALCULAR VALOR GASTO COM DIÁRIA
        Dim val As Currency
        Dim dme As Currency
        Dim valSm As Currency
        Dim dmes As Currency
        MsgBox verSm
        MsgBox verPm
        
        If combMotorista.Column(2) = "CONTRATADO" Then
            val = qtdDiarias * 235.68
            
            ElseIf combMotorista.Column(2) = "EFETIVO" And verPm = 1 Then
                verPm = 0
                dme = InputBox("Informe o valor da diária do motorista")
                val = qtdDiarias * dme
        End If
        
        If Me.combSmoto.Visible = True Then
        
            If combSmoto.Column(2) = "CONTRATADO" Then
                valSm = qtdDiarias * 235.68
            ElseIf combSmoto.Column(2) = "EFETIVO" And verSm = 1 Then
                    verSm = 0
                    dmes = InputBox("Informe o valor da diária do motorista")
                    valSm = qtdDiarias * dmes
            End If
        End If
        diaMot = val + valSm
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5275
    Registrado : 15/03/2013

    Re: [Resolvido]Variáveis global entre sub's

    Mensagem  ahteixeira em Seg 14 Maio 2018, 11:45 am

    Olá Leonardo,

    Vá a Modulos e crie um VarGlobais e coloque lá o código:

    Public verPm As Integer
    Public verSm As Integer

    Retire dos outros forms as declarações e teste

    Abraço

    leo.gool
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 34
    Registrado : 27/02/2018

    Re: [Resolvido]Variáveis global entre sub's

    Mensagem  leo.gool em Seg 14 Maio 2018, 6:06 pm

    Funcionou perfeitamente, obrigado amigo!
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5275
    Registrado : 15/03/2013

    Re: [Resolvido]Variáveis global entre sub's

    Mensagem  ahteixeira em Ter 15 Maio 2018, 4:50 am

    Olá Leonardo,

    Obrigado pelo retorno, o fórum agradece.

    Abraço

      Data/hora atual: Seg 16 Jul 2018, 8:16 pm