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

    Modulo VBA

    Compartilhe
    avatar
    DEISON
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Modulo VBA

    Mensagem  DEISON em Qua 24 Maio 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.


    misaelsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Modulo VBA

    Mensagem  misaelsp em Qui 25 Maio 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 [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    DEISON
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Modulo VBA

    Mensagem  DEISON em Sex 26 Maio 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.

    misaelsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Modulo VBA

    Mensagem  misaelsp em Sex 26 Maio 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 [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    DEISON
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Modulo VBA

    Mensagem  DEISON em Sex 26 Maio 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

    misaelsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Modulo VBA

    Mensagem  misaelsp em Sab 27 Maio 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 [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    DEISON
    Avançado
    Avançado

    Respeito às Regras 100%

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

    Modulo VBA

    Mensagem  DEISON em Sab 27 Maio 2017, 17:19

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

    Quando você fez deu certo?

    misaelsp
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

    Re: Modulo VBA

    Mensagem  misaelsp em Sab 27 Maio 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 [Você precisa estar registrado e conectado para ver esta imagem.]

      Data/hora atual: Ter 25 Jul 2017, 13:39