Prezados Senhores
Estou tentando desenvolver um controle para agendar provas de alunos, da minha escola.
Num formulário tenho 3 textbox: datap , hora_inicio e equipto.
Considerações: datap = dia/mês/ano; Hora_inicio = hora cheia; Qtde de equipamentos = 15 unidades.
Restrição: Os agendamentos não podem ser superiores ao número de equipamentos(15);
Cada equipamento não poderá ter mais do que um usuário no mesmo dia e no mesmo horário.
Ex.: Se já existir Data: 10/01/2014 – Hora: 08:00 – Equipto: Maq 5, um novo registro com os mesmos dados não poderá ser aceito.
Usando o código abaixo para as condições Datap e Hora_inicio, consegui sucesso parcial:
Private Sub HORA_Inicio_BeforeUpdate(Cancel As Integer)
If
DCount("DATAP", "[Agendamento_Prova]", "DATAP = Forms![Agendamento_Prova]!DATAP") >= 2 And
DCount("HORA_Inicio", "[Agendamento_Prova]", "HORA_Inicio = Forms![Agendamento_Prova]!HORA_Inicio") >= 2 Then
MsgBox "Excedeu o número permitido de escolhas!" & Chr(13) & "Verifique o Mapa.", vbCritical, " Administrador do Sistema!"
Cancel = True
Me.Undo
Exit Sub
End If
End Sub
No entanto, ao entrar com a terceira condição “ Equipto “, bloqueia tudo.
Vide código abaixo:
Private Sub Equipto_BeforeUpdate(Cancel As Integer)
If
DCount("DATAP", "[Agendamento_Prova]", "DATAP = Forms![Agendamento_Prova]!DATAP") >= 2 And
DCount("HORA_Inicio", "[Agendamento_Prova]", "HORA_Inicio = Forms![Agendamento_Prova]!HORA_Inicio") >= 2 And
DCount("Equipto", "[Agendamento_Prova]", "Equipto = Forms![Agendamento_Prova]!Equipto") >= 2 Then
MsgBox "Excedeu o número permitido de escolhas!" & Chr(13) & "Verifique o Mapa.", vbCritical, " Administrador do Sistema! "
Cancel = True
Me.Undo
Exit Sub
End If
End Sub
Diante do exposto, como devo proceder? Onde estou errando?
Desde já obrigado pela ajuda.
Mauricio Menezes
Estou tentando desenvolver um controle para agendar provas de alunos, da minha escola.
Num formulário tenho 3 textbox: datap , hora_inicio e equipto.
Considerações: datap = dia/mês/ano; Hora_inicio = hora cheia; Qtde de equipamentos = 15 unidades.
Restrição: Os agendamentos não podem ser superiores ao número de equipamentos(15);
Cada equipamento não poderá ter mais do que um usuário no mesmo dia e no mesmo horário.
Ex.: Se já existir Data: 10/01/2014 – Hora: 08:00 – Equipto: Maq 5, um novo registro com os mesmos dados não poderá ser aceito.
Usando o código abaixo para as condições Datap e Hora_inicio, consegui sucesso parcial:
Private Sub HORA_Inicio_BeforeUpdate(Cancel As Integer)
If
DCount("DATAP", "[Agendamento_Prova]", "DATAP = Forms![Agendamento_Prova]!DATAP") >= 2 And
DCount("HORA_Inicio", "[Agendamento_Prova]", "HORA_Inicio = Forms![Agendamento_Prova]!HORA_Inicio") >= 2 Then
MsgBox "Excedeu o número permitido de escolhas!" & Chr(13) & "Verifique o Mapa.", vbCritical, " Administrador do Sistema!"
Cancel = True
Me.Undo
Exit Sub
End If
End Sub
No entanto, ao entrar com a terceira condição “ Equipto “, bloqueia tudo.
Vide código abaixo:
Private Sub Equipto_BeforeUpdate(Cancel As Integer)
If
DCount("DATAP", "[Agendamento_Prova]", "DATAP = Forms![Agendamento_Prova]!DATAP") >= 2 And
DCount("HORA_Inicio", "[Agendamento_Prova]", "HORA_Inicio = Forms![Agendamento_Prova]!HORA_Inicio") >= 2 And
DCount("Equipto", "[Agendamento_Prova]", "Equipto = Forms![Agendamento_Prova]!Equipto") >= 2 Then
MsgBox "Excedeu o número permitido de escolhas!" & Chr(13) & "Verifique o Mapa.", vbCritical, " Administrador do Sistema! "
Cancel = True
Me.Undo
Exit Sub
End If
End Sub
Diante do exposto, como devo proceder? Onde estou errando?
Desde já obrigado pela ajuda.
Mauricio Menezes