1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Obrigar a preencher cxTexto em VBA access

Discussão em 'Programação' iniciada por marcs, 16 de Janeiro de 2009. (Respostas: 2; Visualizações: 1357)

  1. marcs

    marcs Power Member

    Boas por cá!

    Algo simples mas não estou a descobrir porque razão não está a funcionar!!

    VBA Access 2003

    por Exemplo: Tenho 1 controlo num formulário com o nome "NUm" e quero que seje obrigatório o seu preenchimento. Assim, aparecerá uma Mensagem a confirmar isso mesmo e depois ao fechar essa MsgBox volta para o mesmo controlo.

    --:estes dois exemplos não devolvem o foco ao mesmo controlo!:--

    Código:
    Private Sub Num_LostFocus()
    
    If IsNull(Num) Then
    MsgBox "Preenchimento obrigatório!", , vbExclamation, "Aviso"
    
    DoCmd.CancelEvent
    SendKeys "{UP}"
    
    End If
    End Sub
    
    '-----------------------------------------------------
    
    Private Sub Num_LostFocus()
    
    If IsNull(Num) Then
    MsgBox "Preenchimento obrigatório!", vbExclamation, "Aviso"
    
    Cancel = True
    Me.Num.SetFocus
    
    End If
    End Sub
    SUGESTÕES?? Obrigado
     
    Última edição: 16 de Janeiro de 2009
  2. bandalho_zune

    bandalho_zune I'm cool cuz I Fold

    Ja tentaste mudar a condição no if, tipo:

    Código:
    If Num.Text = "" Then
    ...
    


    Cumps
     
  3. marcs

    marcs Power Member

    Olá Bandalho ;)

    Já exprimentei, a condição emite a cx dialogo com a mensagem só não retorna ao mesmo controlo!! pk será hmm!?!?

    Resolvido!

    esta linha de facto faz debug..
    Código:
    SendKeys "{UP}"
    O Procedimento terá que ser assim neste caso:
    Código:
    Private Sub Num_Exit (Cancel AS Integer)
    ...
    () cumps ;)
     
    Última edição: 17 de Janeiro de 2009

Partilhar esta Página