Olá amigos,
Econtrei este código e estou tentando adaptá-lo para tornar um campo obrigatório dentro de um subformulário. Tenho aqui alguns subformulários, sendo que no primeiro subformulário o código roda normal, porém ao colar/adaptar o código ao segundo subformulário, nada acontece... Devido a minha falta de experiência em vba, não sei exatamente se o código está incompleto ou na ordem errada...
A intenção é fazer com que o campo seja preenchido obrigatoriamente e que o usuário não saia do subformulário enquanto este não for preenchido...
Se alguém puder indicar um outro código para melhoria, será de grande valia...
'primeiro subformuláio
Private Sub DtSituacaoGestor_GotFocus()
If IsNull(cboSituacaoGestor) Then
cboSituacaoGestor.BackColor = 9934847 'cor
cboSituacaoGestor.SetFocus 'foco volta para o campo
MsgBox "O campo de Situação no Gestor'" & cboSituacaoGestor.StatusBarText & "' é de preenchimento obrigatório.", vbExclamation
DoCmd.CancelEvent
End
Else
If Me.Form.Dirty = True Then
DtSituacaoGestor = Now()
If MsgBox("Confirma Atualização de Acompanhamento de Análise do Gestor?", vbYesNo, "") = vbNo Then
Me.Undo
End If
End If
End If
End Sub
'segundo subformulário
Private Sub DtSituacaoDiretoria_GotFocus()
If IsNull(cboSituacaoDiretoria) Then
cboSituacaoDiretoria.BackColor = 9934847 'cor
cboSituacaoDiretoria.SetFocus 'foco volta para o campo
MsgBox "O campo de Situação na Diretoria'" & cboSituacaoDiretoria.StatusBarText & "' é de preenchimento obrigatório.", vbExclamation
DoCmd.CancelEvent
End
Else
If Me.Form.Dirty = True Then
DtSituacaoDiretoria = Now()
If MsgBox("Confirma Atualização de Acompanhamento da Análise na Diretoria?", vbYesNo, "") = vbNo Then
Me.Undo
End If
End If
End If
End Sub
Econtrei este código e estou tentando adaptá-lo para tornar um campo obrigatório dentro de um subformulário. Tenho aqui alguns subformulários, sendo que no primeiro subformulário o código roda normal, porém ao colar/adaptar o código ao segundo subformulário, nada acontece... Devido a minha falta de experiência em vba, não sei exatamente se o código está incompleto ou na ordem errada...
A intenção é fazer com que o campo seja preenchido obrigatoriamente e que o usuário não saia do subformulário enquanto este não for preenchido...
Se alguém puder indicar um outro código para melhoria, será de grande valia...
'primeiro subformuláio
Private Sub DtSituacaoGestor_GotFocus()
If IsNull(cboSituacaoGestor) Then
cboSituacaoGestor.BackColor = 9934847 'cor
cboSituacaoGestor.SetFocus 'foco volta para o campo
MsgBox "O campo de Situação no Gestor'" & cboSituacaoGestor.StatusBarText & "' é de preenchimento obrigatório.", vbExclamation
DoCmd.CancelEvent
End
Else
If Me.Form.Dirty = True Then
DtSituacaoGestor = Now()
If MsgBox("Confirma Atualização de Acompanhamento de Análise do Gestor?", vbYesNo, "") = vbNo Then
Me.Undo
End If
End If
End If
End Sub
'segundo subformulário
Private Sub DtSituacaoDiretoria_GotFocus()
If IsNull(cboSituacaoDiretoria) Then
cboSituacaoDiretoria.BackColor = 9934847 'cor
cboSituacaoDiretoria.SetFocus 'foco volta para o campo
MsgBox "O campo de Situação na Diretoria'" & cboSituacaoDiretoria.StatusBarText & "' é de preenchimento obrigatório.", vbExclamation
DoCmd.CancelEvent
End
Else
If Me.Form.Dirty = True Then
DtSituacaoDiretoria = Now()
If MsgBox("Confirma Atualização de Acompanhamento da Análise na Diretoria?", vbYesNo, "") = vbNo Then
Me.Undo
End If
End If
End If
End Sub
Última edição por wesley em 31/7/2019, 21:30, editado 1 vez(es)