MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

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 : 54
    Registrado : 20/05/2015

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

    Mensagem  ARGONZALE em Qua 23 Set 2015, 13: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 : 1820
    Registrado : 12/04/2012

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

    Mensagem  Fernando Bueno em Qua 23 Set 2015, 13: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 : 54
    Registrado : 20/05/2015

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

    Mensagem  ARGONZALE em Qua 23 Set 2015, 13: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 : 1820
    Registrado : 12/04/2012

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

    Mensagem  Fernando Bueno em Qua 23 Set 2015, 13: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 : 54
    Registrado : 20/05/2015

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

    Mensagem  ARGONZALE em Qua 23 Set 2015, 14: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 : 3417
    Registrado : 20/04/2011

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

    Mensagem  Silvio em Qua 23 Set 2015, 14: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 : 1820
    Registrado : 12/04/2012

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

    Mensagem  Fernando Bueno em Qua 23 Set 2015, 14: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 : 1820
    Registrado : 12/04/2012

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

    Mensagem  Fernando Bueno em Qua 23 Set 2015, 14: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 : 54
    Registrado : 20/05/2015

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

    Mensagem  ARGONZALE em Qua 23 Set 2015, 14: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 : 3417
    Registrado : 20/04/2011

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

    Mensagem  Silvio em Qua 23 Set 2015, 14: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 : 54
    Registrado : 20/05/2015

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

    Mensagem  ARGONZALE em Qua 23 Set 2015, 14: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 : 2825
    Registrado : 06/11/2009

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

    Mensagem  Assis em Qua 23 Set 2015, 14: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 : 54
    Registrado : 20/05/2015

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

    Mensagem  ARGONZALE em Qua 23 Set 2015, 14: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 : 2825
    Registrado : 06/11/2009

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

    Mensagem  Assis em Qua 23 Set 2015, 14: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 : 54
    Registrado : 20/05/2015

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

    Mensagem  ARGONZALE em Qua 23 Set 2015, 15: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 : 2825
    Registrado : 06/11/2009

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

    Mensagem  Assis em Qua 23 Set 2015, 15:13

    Obrigado pelo retorno Alexandre

    Faltou o resolvido


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

      Data/hora atual: Dom 30 Abr 2017, 11:52