1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| Private Sub CmdValider_Click()
'Valide les choix effectués sur le formulaire "F_SaisieEDT".
On Error GoTo Err_CmdValider
Dim n As Long
Dim HD As Date, HF As Date
Dim Classe
' Si les zones de texte "Cours" ou "Memo" ne sont pas vides
If ((Me!Cours <> "") And Not IsNull(Me!Cours)) Or _
((Me!Memo <> "") And Not IsNull(Me!Memo)) Or _
((Me!Salle <> "") And Not IsNull(Me!Salle)) Then
HD = CDate(Me!DateRdV1) + CDate(Me!HoraireD)
HF = CDate(Me!DateRdV2) + CDate(Me!HoraireF)
' Si les zones de texte "Disponibilités" ou "Memo" ne sont pas vides
Else
If ((Me!IdDisponibilités <> "") And Not IsNull(Me!IdDisponibilités)) Or _
((Me!Memo <> "") And Not IsNull(Me!Memo)) Then
HD = CDate(Me!DateRdV1) + CDate(Me!HoraireD)
HF = CDate(Me!DateRdV2) + CDate(Me!HoraireF)
End If
End If
If (Format(HF, "hh:nn") <= Format(HeureFin, "hh:nn")) And (HD < HF) Then
' On recherche des RDV dont les horaires de début et de fin chevauchent les
' horaires choisis sur le formulaire.
Classe = Nz(DLookup("NomClasse", "T_Classe", "InStr('" & Nz(Me.Cours, "") & "',[NomClasse]) <> 0"), "")
n = Nz(DLookup("[NR]", "T_SaisieEDT", "(NR<>" & Nz(Me!NR, 0) & ") And (InStr([Cours],'" & Classe & "')<>0) And HoraireDebut<" & FormatDateUS(HF) & " And HoraireFin>" & FormatDateUS(HD)), 0)
' si aucun RDV n'a été trouvé, la plage horaire est donc disponible et on peut
' enregistrer le RDV.
Dim db As dao.Database
Dim rs As dao.Recordset
If (n = 0) Then
If ((Me!Cours = "Premiere Maquillage")) Then
Me!Cours = "Premiere_Terminale Maquillage"
Me!HoraireDebut = HD
Me!HoraireFin = HF
Me.Requery
Set db = CurrentDb
Set rs = db.OpenRecordset("T_SaisieEDT", dbOpenTable)
rs.AddNew ' ajout d'une entrée correspondant à "Terminale_Premiere Maquillage"
rs!IdProfesseur = Me.IdProfesseur
rs!TypeRdv = TypeRdv
rs!Nom = Nom
rs!Cours = "Terminale_Premiere Maquillage"
rs!HoraireDebut = HD
rs!HoraireFin = HF
rs.Update
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
MajEDT ' mise à jour du planning
DoCmd.Close ' fermeture du formulaire de saisie.
Else
Me!HoraireDebut = HD
Me!HoraireFin = HF
Me.Requery
MajEDT
DoCmd.Close
End If
Else
MsgBox ("La Classe est déjà en cours, ou la Salle est déjà occupée!")
End If
Else
MsgBox ("Saisie incorrecte !")
End If
Exit_CmdValider:
Exit Sub
Err_CmdValider:
Set goHeader = Nothing
Set goEDT = Nothing
MsgBox Err.description
Resume Exit_CmdValider
End Sub |
Partager