Bom dia pessoal estou com o seguinte problema, tenho uma agenda de atendimentos dividida em 2 períodos manhã e tarde, ela não é limitada por horário nem por quantidade devido a peculiaridades da forma como é o fluxo de atendimento, até aí funciona certinho, acontece que precisei limitar em alguns dias específicos a quantidade de um certo atendimento, criei uma tabela onde cadastro a data e quantidade e ele faz a limitação conforme esperado, porém estou tendo problema em um dia especifico, para todos os outros dias aleatórios que fiz o bloqueio funcionou normalmente mas no dia 12/03/19 ele simplesmente não abre o form para cadastro independente se atingiu ou não a quantidade, o código está assim:
se alguém puder dar uma luz agradeço
- Código:
Private Sub btnCadPaciente_Click()
On Error GoTo Err_btnCadPaciente_Click
Dim stDocName As String
Dim stLinkCriteria As String
Dim databloq
Dim crit2
Dim crit3
Dim crit4
databloq = DCount("[data]", "bloqueiosus", "[data]= Forms![frmAgenda]![txtdtreg]")
crit2 = DCount("[id_data]", "tblsusagenda", "[hora]<=#12:00# and [id_data]=#" & _
Forms![frmAgenda]![txtdtreg] & "# and [convenio]='sus'")
crit3 = DCount("[id_data]", "tblsusagenda", "[hora]>#12:00# and [id_data]=#" & _
Forms![frmAgenda]![txtdtreg] & "# and [convenio]='sus'")
crit4 = DLookup("[quantidade]", "bloqueiosus", "[data]= Forms![frmAgenda]![txtdtreg]")
'-----------------------------------------------------------------------
If databloq = 1 Then
Select Case Weekday(Forms![frmAgenda]![txtdtreg])
Case 3, 5
If crit2 >= crit4 And crit3 >= crit4 Then
If MsgBox("A quantidade de agendamentos SUS para hoje chegou ao limite!" + vbCrLf & _
"Deseja agendar para outro convenio?", vbCritical + vbYesNo, "Limite agendamentos SUS") = vbYes Then
stDocName = "FrmCadConsultaSUS"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
ElseIf crit2 >= crit4 Then
MsgBox "A quantidade de agendamentos SUS para parte da manhã chegou ao limite!" + vbCrLf & _
"Agendamentos SUS disponiveis somente na parte da TARDE", vbCritical + vbOKOnly, "Limite agendamentos SUS"
stDocName = "FrmCadConsultaSUS"
DoCmd.OpenForm stDocName, , , stLinkCriteria
ElseIf crit3 >= crit4 Then
MsgBox "A quantidade de agendamentos SUS para parte da tarde chegou ao limite!" + vbCrLf & _
"Agendamentos SUS disponiveis somente na parte da MANHÃ", vbCritical + vbOKOnly, "Limite agendamentos SUS"
stDocName = "FrmCadConsultaSUS"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
stDocName = "FrmCadConsultaSUS"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
Case 6
If crit2 >= crit4 Then
If MsgBox("A quantidade de agendamentos SUS para parte da manhã chegou ao limite! Disponibilidade somente na parte da tarde!" + vbCrLf & _
"Deseja agendar?", vbCritical + vbYesNo, "Limite agendamentos SUS") = vbYes Then
stDocName = "FrmCadConsultaSUS"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
Else
stDocName = "FrmCadConsultaSUS"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
End Select
Else
stDocName = "FrmCadConsultaSUS"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
Exit_btnCadPaciente_Click:
Exit Sub
Err_btnCadPaciente_Click:
MsgBox Err.Description
Resume Exit_btnCadPaciente_Click
End Sub
se alguém puder dar uma luz agradeço