Amigos, boa noite!
Tenho dois problemas na seguinte situação:
1.
O usuário preenche vários campos de um subform e, qdo um dos campos não satisfaz determinada condição o valor desse campo, e somente desse campo, deve ser deletado e o foco retornado para ele. Isso é importante porque se usuário já digitou três ou quatro campos corretos, não é justo que tenha que iniciar toda a linha novamente porque errou apenas em um campo.
O código está no evento Após Atualizar dos campos.
Me!txtDataSaida.Undo Esta linha não está funcionando como eu gostaria. já tentei frm.Undo, me.Undo e Me.TxtDataSaida.Undo
2.
Mesmo usando Me!txtDataSaida.SetFocus o foco não se move de volta para o txtDataSaida. Tentei outras variações a exemplo do problema 1, mas não deu certo.
Todos os campos tem preenchimento obrigatório, ocorrendo em erro ao usar .Value = "" ou txtDataSaida = Null. Talvez desse certo se o foco retornasse para os campos, mas não tenho certeza.
Se puderem ajudar, fico grato.
Pesquisei e encontrei situações onde não se deseja salvar nenhum registro, mas isso causaria descontentamento no usuário.
Tenho dois problemas na seguinte situação:
1.
O usuário preenche vários campos de um subform e, qdo um dos campos não satisfaz determinada condição o valor desse campo, e somente desse campo, deve ser deletado e o foco retornado para ele. Isso é importante porque se usuário já digitou três ou quatro campos corretos, não é justo que tenha que iniciar toda a linha novamente porque errou apenas em um campo.
O código está no evento Após Atualizar dos campos.
Me!txtDataSaida.Undo Esta linha não está funcionando como eu gostaria. já tentei frm.Undo, me.Undo e Me.TxtDataSaida.Undo
2.
Mesmo usando Me!txtDataSaida.SetFocus o foco não se move de volta para o txtDataSaida. Tentei outras variações a exemplo do problema 1, mas não deu certo.
Todos os campos tem preenchimento obrigatório, ocorrendo em erro ao usar .Value = "" ou txtDataSaida = Null. Talvez desse certo se o foco retornasse para os campos, mas não tenho certeza.
- Código:
Private Sub txtDataSaida_AfterUpdate()
dtaDataSair = DataSaida 'Variável pública
If dtaDataSair < Date Then
MsgBox "A data de saída deve ser igual ou maior à data de hoje. Por favor, informe uma data válida!", vbExclamation, "Sistema Educacional"
Me!txtDataSaida.Undo
Me!txtDataSaida.SetFocus
End If
End Sub
Se puderem ajudar, fico grato.
Pesquisei e encontrei situações onde não se deseja salvar nenhum registro, mas isso causaria descontentamento no usuário.