Bom dia
Em meu sistema tenho uma agenda de atendimentos, tudo estava funcionando perfeitamente, não sei o que houve, já depurei e não consegui "enxergar" o problema. O que ocorre é:
- Tenho várias abas na agenda, cada aba contém um ou mais subformulários (Conforme disponibilizo na imagem no link abaixo).
https://2img.net/r/ihimg/photo/my-images/198/0ij5.jpg/
O agendamento é feito através do sub formulário subfrm_AgendarHorários. Ao tentar incluir um novo registro após terminar o agendamento, clicando no botão salvar, a linha DoCmd.GoToRecord , , acNewRec - depurando, apresenta o valor 5, e o sistema persiste no registro incluso/editado. Uso o código abaixo no botão Salvar:
Uso o Access 2007. Alguém tem alguma dica do que possa fazer para corrigir tal problema?
Detalhe, este subformulário está vinculado a uma consulta com várias tabelas....
Att. Vinicius
Em meu sistema tenho uma agenda de atendimentos, tudo estava funcionando perfeitamente, não sei o que houve, já depurei e não consegui "enxergar" o problema. O que ocorre é:
- Tenho várias abas na agenda, cada aba contém um ou mais subformulários (Conforme disponibilizo na imagem no link abaixo).
https://2img.net/r/ihimg/photo/my-images/198/0ij5.jpg/
O agendamento é feito através do sub formulário subfrm_AgendarHorários. Ao tentar incluir um novo registro após terminar o agendamento, clicando no botão salvar, a linha DoCmd.GoToRecord , , acNewRec - depurando, apresenta o valor 5, e o sistema persiste no registro incluso/editado. Uso o código abaixo no botão Salvar:
- Código:
On Error GoTo TrataErro
Dim strCamposNulos As String
Dim intTotalNulos As Integer
If Not IsNull(Me.Id_Agenda) Then
intTotalNulos = 0
If IsNull(dtData) Then
intTotalNulos = intTotalNulos + 1
strCamposNulos = strCamposNulos & "Data para o Agendamento." & _
vbCrLf
End If
If IsNull(agHora) Then
intTotalNulos = intTotalNulos + 1
strCamposNulos = strCamposNulos & "Hora para o Agendamento." & _
vbCrLf
End If
If IsNull(Id_TipoCons) Then
intTotalNulos = intTotalNulos + 1
strCamposNulos = strCamposNulos & "Tipo do Agendamento." & _
vbCrLf
End If
If IsNull(Id_Paciente) Then
intTotalNulos = intTotalNulos + 1
strCamposNulos = strCamposNulos & "Paciente." & _
vbCrLf
End If
If IsNull(Id_ConvCons) Then
intTotalNulos = intTotalNulos + 1
strCamposNulos = strCamposNulos & "Convênio." & _
vbCrLf
End If
If intTotalNulos > 0 Then
'Montando o texto da mensagem de aviso
strCamposNulos = "Existem campos que precisam ser preenchidos:" & _
vbCrLf & vbLf & _
strCamposNulos
'Exibindo mensagem para o usuário
MsgBox strCamposNulos, vbCritical, "ATENÇÃO - Campo(s) de Preenchimento Obrigatório(s)!!!"
DoCmd.CancelEvent
'Me.Undo
Me.dtData.SetFocus
End If
If intTotalNulos = 0 Then
[Forms]![Frm_Agenda]![subfrm_AgendarHorários]![Id_Medico] = [Forms]![Frm_Agenda]![codmedparam]
DoCmd.RunCommand acCmdSaveRecord
MsgBox "Consulta Agendada / Alterada com Sucesso!", vbInformation, "Atenção"
Me!Frm_Agenda.SetFocus
Me!subfrm_AgendarHorários.Form!dtData.SetFocus
DoCmd.GoToRecord , , acNewRec
'Me!Frm_Agenda.SetFocus
DoCmd.GoToRecord , , acNewRec
End If
Else
Me.dtData.SetFocus
End If
Exit_TrataErro:
Forms!Frm_Agenda.Requery
Exit Sub
TrataErro:
Resume Next
Exit Sub
End Sub
Uso o Access 2007. Alguém tem alguma dica do que possa fazer para corrigir tal problema?
Detalhe, este subformulário está vinculado a uma consulta com várias tabelas....
Att. Vinicius