NAO MANDAR MENSSAGEM EM DETERMINADA SITUACAO

USUARIO.EXCLUIDOS 03/08/2007 01:06:10
#229225
Vejam o código!
Private Sub cmbNome_LostFocus()
If cmbNome.ListIndex = -1 Then
MsgBox "Escolha o Aluno!", vbExclamation, "Atenção"
cmbNome.SetFocus
end if
end sub


A minha dúvia é a seguinte, quando o Form é carregado o Foco ja é mandado para esse Command ai, e eu tenho dois Buttons aqui, tem jeito de essa menssagem não aparecer quando o usuário clicar em um desse Buttons, ja que o Foco vai sair do Combo????

Muito Obrigado!
EMANUEL 03/08/2007 06:34:14
#229226
Ola Alexandre,

Veja, porque vc nao coloca este codigo no evento CLICK deste botao?

sds
Emanuel
LCSD 03/08/2007 07:47:07
#229235
Não tem como vc PREVER que o usuário clicará no botão ao sair o foco deste objeto.

Coloque esta mensagem em um outro lugar, e não no LOSTFOCUS deste combo então.

Coloque, por exemplo, essa mensagem no seu botão GRAVAR, e lá VC verifica se seus objetos "chaves" já estão preenchidos corretamente, se não tiver, VC dá a mensagem e joga o foco pro objeto.
USUARIO.EXCLUIDOS 03/08/2007 10:04:45
#229281
Amigo, utilize o evento validate da combo para fazer isso...
Se o usuário teclar tab (ou enter) e o listindex for -1 o foco não sai do controle e dá a mensagem...
Exemplo:

[c]Private Sub cboDadosEmpreg_Validate(Index As Integer, Cancel As Boolean)
With cboDadosEmpreg(Index)
If .Text = vbNullString Then Exit Sub

If .ListIndex = -1 Then
MsgBox "Selecione uma opção na lista!", vbExclamation, "Atenção..."
Cancel = True
.SetFocus
End If
End With
End Sub

[/c]

é isso aí... Qualquer coisa é só postar...

USUARIO.EXCLUIDOS 03/08/2007 21:46:31
#229437
Muito Obrigado pela ajuda de todos, mas vou fazer assim.....
Private Sub cmbNome_LostFocus()
If cmbNome.ListIndex <> -1 Then
segue o código....
end if
end sub


Na minha situação, essa menssagem não é de muita importância!!!!

Obrigadíssimo!!!!!
Tópico encerrado , respostas não são mais permitidas