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

    Exibir msgBox e não permitir avançar para próximo campo

    Compartilhe

    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 21/05/2015

    Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  ARGONZALE em Qua 23 Set 2015, 17:25

    Boa tarde senhores, tudo joia?
    Preciso de uma ajudinha:
    Tenho um Campo chamado [Troco] e gostaria que após atualizar, ele se comparasse a outro campo chamado [Conta Troco].

    Se o valor do campo [Troco] for igual ao valor do campo [conta Troco] ele aceite ir para o próximo campo.

    Mas se os valores fossem diferentes ele enviasse uma msgBox (“Valor de troco errado”), vbCritical..... e não permitisse ir para próximo campo enquanto este não se igualasse.

    Coloquei desta forma mas ele permite passar para o próximo campo:

    Private Sub Troco_AfterUpdate()
    If Me.TROCO = Me.Conta_Troco = 0 Then
    MsgBox ("Troco Errado"), vbCritical
    End If
    End Sub

    Espero ter sido claro na explicação!!!
    avatar
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1847
    Registrado : 13/04/2012

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  Fernando Bueno em Qua 23 Set 2015, 17:37

    Boa tarde Alexandre;

    Teste dessa forma:

    Código:
    Private Sub Troco_AfterUpdate()
    If Me.TROCO = Me.Conta_Troco = 0 Then
    MsgBox "Troco Errado", vbCritical
    Me.Undo 'Limpa o campo
    Cancel = True 'mantém o foco no campo
    End If
    End Sub


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Você precisa estar registrado e conectado para ver esta imagem.]

    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 21/05/2015

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  ARGONZALE em Qua 23 Set 2015, 17:49

    Opa Fernando,

    Obrigado pela resposta mas ainda continua passando para o próximo campo.

    Ainda não funfou...
    avatar
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1847
    Registrado : 13/04/2012

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  Fernando Bueno em Qua 23 Set 2015, 17:58

    Poderia postar partes do seu banco para vermos?


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Você precisa estar registrado e conectado para ver esta imagem.]

    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 21/05/2015

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  ARGONZALE em Qua 23 Set 2015, 18:11

    Fernando,

    Segue imagem do BD onde o problema ocorre. Não fui autorizado postar o BD.

    Veja que após o valor inserido no campo Troco ele valida se é igual ao campo Conta Troco (logo abaixo).

    Pelo seu código a msgBox aparece mas ainda permite ir para o próximo campo Dinheiro.

    Veja o que consegue por mim.

    Obrigado!!!
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3568
    Registrado : 20/04/2011

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  Silvio em Qua 23 Set 2015, 18:12

    Com a permissão dos senhores, um pitaco !

    Aproveitando o código do Fernando:

    Private Sub Troco_AfterUpdate()
    If Me.TROCO = Me.Conta_Troco = 0 Then
    MsgBox "Troco Errado", vbCritical
    Me.Undo 'Limpa o campo
    me.troco.setfocus ' acrescentei esse comando.
    End If
    End Sub


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1847
    Registrado : 13/04/2012

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  Fernando Bueno em Qua 23 Set 2015, 18:13

    Não anexou a imagem mais tente assim.

    Código:
    Private Sub Troco_AfterUpdate()
    If Me.TROCO = Me.Conta_Troco = 0 Then
    MsgBox "Troco Errado", vbCritical
    Me.Undo 'Limpa o campo
    Me.TROCO.SetFocus
    End If
    End Sub


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1847
    Registrado : 13/04/2012

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  Fernando Bueno em Qua 23 Set 2015, 18:14

    Grande Silvio;

    Postamos juntos Very Happy


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Você precisa estar registrado e conectado para ver esta imagem.]

    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 21/05/2015

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  ARGONZALE em Qua 23 Set 2015, 18:20

    Poxa vida,

    Obrigado pela ajuda mas continua indo para o próximo campo após msgbox.
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3568
    Registrado : 20/04/2011

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  Silvio em Qua 23 Set 2015, 18:28

    Grande Fernando...estamos ai !!!

    Bom, vamos mexer um pouco no código....

    Private Sub Troco_AfterUpdate()
    If Me.TROCO = Me.Conta_Troco = 0 Then
    Me.Undo 'Limpa o campo
    Me.TROCO.SetFocus
    MsgBox "Troco Errado", vbCritical
    End If
    End Sub


    Mas, isso estamos fazendo com a nossa bola de Cristal de Microsoft...pois não estamos com a base de dados em mãos !
    Pode haver outros fatores que estejam influenciando a ida do foco para outro campo.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    [Você precisa estar registrado e conectado para ver este link.]

    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 21/05/2015

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  ARGONZALE em Qua 23 Set 2015, 18:32

    Estou tentando anexar uma imagem print mas não carrega aqui no fórum
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2919
    Registrado : 06/11/2009

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  Assis em Qua 23 Set 2015, 18:37

    Boa tarde

    Teste

    Ponha o código no campo a seguir ao Troco, no acontecimento ao receber o foco


    If Me.TROCO = Me.Conta_Troco = 0 Then
    MsgBox "Troco Errado", vbCritical
    Cancel = True 'cancela o evento.
    Me.TROCO.SetFocus
    Me.TROCO = ""
    End If


    .................................................................................
    *** Só sei que nada sei ***

    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 21/05/2015

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  ARGONZALE em Qua 23 Set 2015, 18:48

    Assis,

    Funfou... (deu certo) mas se deixar o campo vazio ele aceita ir ao próximo campo mesmo na propriedade do campo [Troco] estando como "É Negado Nulo"

    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2919
    Registrado : 06/11/2009

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  Assis em Qua 23 Set 2015, 18:59


    Teste assim


    If IsNull(Me!troco) Or Me.TROCO = Me.Conta_Troco = 0 Then
    MsgBox "Troco Errado", vbCritical
    Cancel = True 'cancela o evento.
    Me.TROCO.SetFocus
    Me.TROCO = ""
    End If








    .................................................................................
    *** Só sei que nada sei ***

    ARGONZALE
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 58
    Registrado : 21/05/2015

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  ARGONZALE em Qua 23 Set 2015, 19:11

    Assis,

    Agora sim o evento correspondeu à necessidade...

    Muito obrigado Assis, Silvio e Fernando Bueno pela ajuda e tempo destinado a solução do meu problema!!!
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2919
    Registrado : 06/11/2009

    Re: Exibir msgBox e não permitir avançar para próximo campo

    Mensagem  Assis em Qua 23 Set 2015, 19:13

    Obrigado pelo retorno Alexandre

    Faltou o resolvido


    .................................................................................
    *** Só sei que nada sei ***

      Data/hora atual: Ter 22 Ago 2017, 04:40