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
|
Private Sub CmdValider_Click()
' Valide les choix effectués sur le formulaire F_RendezVous.
' et met à jour le planning.
Dim db As DAO.Database
Dim LeSql As String, HD As Date, HF As Date, DateC As Date
Dim rsRdV As DAO.Recordset
DateC = CDate(Me!DateRdV)
' Si les zones de texte NP ou Memo ne sont pas vides.
If ((Me!NP <> "") And Not IsNull(Me!NP)) Or _
((Me!Memo <> "") And Not IsNull(Me!Memo)) Then
HD = CDate(Format(Me!DateRdV, "dd/mm/yy ") & Me!HoraireD)
HF = CDate(Format(Me!DateRdV, "dd/mm/yy ") & Me!HoraireF)
Set db = CurrentDb
' On recherche des RDV dont les horaires de début et de fin chevauchent les
' horaires choisis sur le formulaire.
LeSql = "SELECT * " & _
"FROM T_RendezVous " & _
"WHERE (HoraireDebut<>" & FormatDateUS(DateC) & ") And HoraireDebut<" & FormatDateUS(HF) & _
" And HoraireFin>" & FormatDateUS(HD)
Set rsRdV = db.OpenRecordset(LeSql, dbOpenForwardOnly)
If (Format(HF, "hh:nn") <= "18:00") And (HD < HF) Then
' Si aucun RDV n'a été trouvé, la plage horaire est donc disponible et on peut
' enregistrer le RDV.
If rsRdV.EOF Then
Me!HoraireDebut = HD
Me!HoraireFin = HF
Me.Requery ' Actualisation de la table source T_RendezVous.
MajPlanning ' Mise à jour du planning.
DoCmd.Close ' Fermeture du formulaire.
Else
MsgBox ("Saisie incorrecte !")
End If
Else
MsgBox ("Saisie incorrecte !")
End If
rsRdV.Close
set rsRdV = Nothing
Set db = Nothing
Else
MsgBox ("Saisie incorrecte !")
End If
End Sub |
Partager