Bom dia a todos.
Sou um usuário intermediário e, Access e estou com um problema em uma caixa de mensagem.
Ao clicar na caixa de mensagem, ela dá continuidade ao código, quando deveria parar. E quando tento repertir o comando no formulário a caixa de mensgem continua a aparecer, e não deveria se inserida a informação correta.
Segue abaixo o código:
Private Sub txt_detector_LostFocus()
Dim Msg, Estilo, Titulo, Resposta As String
Msg = "Detector não encontrado. Por favor digite novamente!"
Estilo = vbOKCancel + vbCritical + vbDefaultButton1
Titulo = "Erro - Detector não encontrado!"
If txt_detector.Value = Null Then
GoTo txt_detector_Err
Else
btn_clear.Enabled = True
End If
txt_detector_Err:
Resposta = MsgBox(Msg, Estilo, Titulo)
If Resposta = vbOK Then
Form_frm_dai_acionamentos.txt_detector.SetFocus
Else
DoCmd.Close acForm, "frm_dai_acionamentos", acSaveYes
End If
End Sub
O que ocorre, o código não executa o comando de forma correta, no caso vbOk, ele passa para o próximo campo, e não dá o foco ao campo do comando, no caso, quando a informação está correta, a caixa de mensagem continua a aparecer.
O que desejo fazer aqui, quando o campo não localizar o registro, dar uma mensagem de erro para que o usuário coloque a informação correta e não dê sequência para gravar o registro com a informação incompleta.
Agradeço desde já pela ajuda.
Sou um usuário intermediário e, Access e estou com um problema em uma caixa de mensagem.
Ao clicar na caixa de mensagem, ela dá continuidade ao código, quando deveria parar. E quando tento repertir o comando no formulário a caixa de mensgem continua a aparecer, e não deveria se inserida a informação correta.
Segue abaixo o código:
Private Sub txt_detector_LostFocus()
Dim Msg, Estilo, Titulo, Resposta As String
Msg = "Detector não encontrado. Por favor digite novamente!"
Estilo = vbOKCancel + vbCritical + vbDefaultButton1
Titulo = "Erro - Detector não encontrado!"
If txt_detector.Value = Null Then
GoTo txt_detector_Err
Else
btn_clear.Enabled = True
End If
txt_detector_Err:
Resposta = MsgBox(Msg, Estilo, Titulo)
If Resposta = vbOK Then
Form_frm_dai_acionamentos.txt_detector.SetFocus
Else
DoCmd.Close acForm, "frm_dai_acionamentos", acSaveYes
End If
End Sub
O que ocorre, o código não executa o comando de forma correta, no caso vbOk, ele passa para o próximo campo, e não dá o foco ao campo do comando, no caso, quando a informação está correta, a caixa de mensagem continua a aparecer.
O que desejo fazer aqui, quando o campo não localizar o registro, dar uma mensagem de erro para que o usuário coloque a informação correta e não dê sequência para gravar o registro com a informação incompleta.
Agradeço desde já pela ajuda.