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


2 participantes

    [Resolvido]Variáveis global entre sub's

    avatar
    leo.gool
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Variáveis global entre sub's Empty [Resolvido]Variáveis global entre sub's

    Mensagem  leo.gool 14/5/2018, 16:31

    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
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Alvaro Teixeira 14/5/2018, 16:45

    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
    avatar
    leo.gool
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  leo.gool 14/5/2018, 23:06

    Funcionou perfeitamente, obrigado amigo!
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  Alvaro Teixeira 15/5/2018, 09:50

    Olá Leonardo,

    Obrigado pelo retorno, o fórum agradece.

    Abraço

    Conteúdo patrocinado


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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/9/2024, 01:19