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
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    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!!!

    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1818
    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
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    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...

    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1818
    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
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    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!!!

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3227
    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.]

    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1818
    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.]

    Fernando Bueno
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1818
    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
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    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.

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3227
    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
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    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

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    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
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    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"


    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    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
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 28
    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!!!

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    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: Sab 03 Dez 2016, 02:26