MaximoAccess

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

Obrigado

Administração do MaximoAccess


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.

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

    Modulo VBA

    DEISON
    DEISON
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 04/07/2014

    Modulo VBA Empty Modulo VBA

    Mensagem  DEISON 24/5/2017, 20:55

    Boa Tarde


    Estou precisando criar um modulo que faça a seguinte função:

    Quando o Turista tiver a idade menor ou igual a 5 (vai buscar o valor no formulário em que esta no campo) txt_Valor4
    Quando o Turista tiver a idade maior do que 5 e igual a 10 (vai buscar o valor no formulário em que esta no campo) txt_Valor2
    Quando o Turista tiver a idade maior do que 10 (vai buscar o valor no formulário em que esta no campo) txt_Valor1

    Tipo assim:

    Se idade for <=5 txt_valor4 se não
    Se idade for >6 e =10 txt_valor2 se não
    Se idade for >10 txt_valor1

    Fim

    Observação os valores podem mudar de acordo com a viagem selecionada, então os campos txt_valor4, txt_valor2 e txt_valor1 tem que ser pegos direto do formulário em questão que é "frm_vendas".

    O formulário é o Vendas

    Segue abaixo o Link
    BD Teste


    Desde já agradeço.

    avatar
    misaelsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 20/02/2013

    Modulo VBA Empty Re: Modulo VBA

    Mensagem  misaelsp 25/5/2017, 13:36

    Bom dia. Se eu entendi vem a função seria essa

    'Se menor e igual a cinco
    If Me.txt_idade.Value <= 5 Then
    Me.txt_valornormal.Value = varValor
    'se for maior
    Else
    'se for maior q 6
    If Me.txt_idade.Value > 6 Then
    'se menor e = 10
    If Me.txt_idade.Value <= 10 Then
    Me.txt_valornormal.Value = varValor2
    Else
    'Se maior q 10
    If Me.txt_idade.Value > 10 Then
    Me.txt_valornormal.Value = varValor4
    End If
    End If

    End If

    End If


    .................................................................................
    É fazendo que se aprende a fazer aquilo que se deve aprender a fazer Very Happy
    DEISON
    DEISON
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 04/07/2014

    Modulo VBA Empty Modulo VBA

    Mensagem  DEISON 26/5/2017, 02:11

    Boa Noite misaelsp

    Eu fiz como estava escrito no exemplo que você me mandou.

    Porém eu não consegui chamar a função.

    Você chegou a colocar esta VBA no exemplo que eu postei, para testes.


    Desde já agradeço.
    avatar
    misaelsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 20/02/2013

    Modulo VBA Empty Re: Modulo VBA

    Mensagem  misaelsp 26/5/2017, 20:03

    Boa tarde.

    Você deve declarar todas as variaveis que eu citei no exemplo. E em questão de chamar a função, você pode colocar em qualquer evento, desde que obedeça as regras de declaração de variaveis, e de referenciação de objetos.


    .................................................................................
    É fazendo que se aprende a fazer aquilo que se deve aprender a fazer Very Happy
    DEISON
    DEISON
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 04/07/2014

    Modulo VBA Empty Modulo VBA

    Mensagem  DEISON 26/5/2017, 23:47

    Eu até que tentei mais não deu certo.

    Tentei assim:

    Private Sub txt_idade_LostFocus()
    Dim varValor As Long
    'Dim varValor1, varValor2, varValor4 As String


    varValor = txtvalor1
    txtvalor2 = txtvalor2
    txtvalor4 = txtvalor4

    If Me.txt_idade.Value <= 5 Then
    Me.txt_valornormal.Value = varValor
    'se for maior
    Else
    'se for maior q 6
    If Me.txt_idade.Value > 6 Then
    'se menor e = 10
    If Me.txt_idade.Value <= 10 Then
    Me.txt_valornormal.Value = varValor2
    Else
    'Se maior q 10
    'If Me.txt_idade.Value > 10 Then
    'Me.txt_valornormal.Value = varValor4

    'End If
    End If
    End If
    End If

    End Sub
    avatar
    misaelsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 20/02/2013

    Modulo VBA Empty Re: Modulo VBA

    Mensagem  misaelsp 27/5/2017, 14:00

    bom dia amigo,

    txtvalor2 = txtvalor2???

    não seria:

    varValor2 = txtValor2?

    pode ser esse o motivo do erro.


    .................................................................................
    É fazendo que se aprende a fazer aquilo que se deve aprender a fazer Very Happy
    DEISON
    DEISON
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 04/07/2014

    Modulo VBA Empty Modulo VBA

    Mensagem  DEISON 27/5/2017, 17:19

    Eu tentei declarar desta maneira também, porém não obtive exito algum.

    Quando você fez deu certo?
    avatar
    misaelsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 97
    Registrado : 20/02/2013

    Modulo VBA Empty Re: Modulo VBA

    Mensagem  misaelsp 27/5/2017, 18:33

    Eu não fiz amigo. só estou te dando uma sujestão.

    Esperto ter dado um norte a você. Mais é essa ideia


    .................................................................................
    É fazendo que se aprende a fazer aquilo que se deve aprender a fazer Very Happy

      Data/hora atual: 4/3/2021, 19:36