Voici la situation:
je voudrais faire un nouvel enregistrement des réservation pour un client donné.
le controle effectué est la même ne peut pas être réservée plusieurs fois à la date.
par exemple si la salle s1 est réservée du 21/10/2017 au 30/10/2017 alors elle ne peut plus être réservée à ces mêmes dates.
j'ai mon code dont j'ignore qu 'il fonctionnera et que je vous soumet pour des suggestions ou appréciations.
En attendant je vais revoir la relations entre mes tables qui à chaque fois m'affiche un message me disant qu'il est impossible de supprimer ou modifier l’enregistrement car la table "RÉSERVATION" comprend des enregistrements connexes.
Voici mon pour un nouvel enregistrement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Private Sub CmdEnreg_Click()
Dim sal As String
Dim cdate1, cdate2 As Date
 
 
'vérifie si une salle n'est pas sélectionnée par l'utilisateur
If (IsNull(Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!code_sal)) Then
    MsgBox ("Veuillez sélectionner une salle")
  Else
    'vérifie si une date de début n'est pas entrée par l'utilisateur
    If (IsNull(Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!date_debut)) Then
        MsgBox ("Veuillez entrer une date de debut")
        'vérifie si une date de fin n'est pas entrée par l'utilisateur
    ElseIf (IsNull(Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!date_fin)) Then
        MsgBox ("Veuillez entrer une date de fin")
      Else
 
        'recherche dans la table reservation les sallées qui sont déja reservées a cette même période et le stock dans la variable sal
        cdate1 = Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!date_debut
        cdate2 = Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!date_fin
        sal = DLookup("code_sal", "RESERVATION", (between(date_debut = cdate1) And (date_fin = cdate2)))
        'sal = DLookup("code_sal", "RESERVATION", ("date_debut=#" & Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!date_debut & "# and date_fin = #" & Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!date_fin & "#")
        'si la salle sélectionnée correspond a la sallée reservée enregistrée dans la base de données
        If (sal = code_sal) Then
            MsgBox "Salle occupée à cette période"
          Else
            Set db = CurrentDb
 
            Set rsReservation = db.OpenRecordset("RESERVATION")
            With rsReservation
                'Ajoute une nouvelle reservation du client
                .AddNew
                .Fields("code_res") = Forms!Frm_Reservation_Salle_Client.Form!sfReservationSalleClient!code_res
                .Fields("code_sal") = Forms!Frm_Reservation_Salle_Client.Form!sfReservationSalleClient!code_sal
                .Fields("objet_res") = Forms!Frm_Reservation_Salle_Client.Form!sfReservationSalleClient!objet_res
                .Fields("date_debut") = Forms!Frm_Reservation_Salle_Client.Form!sfReservationSalleClient!date_debut
                .Fields("date_fin") = Forms!Frm_Reservation_Salle_Client.Form!sfReservationSalleClient!date_fin
                .Fields("heure_debut") = Forms!Frm_Reservation_Salle_Client.Form!sfReservationSalleClient!heure_fin
                .Fields("heure_fin") = Forms!Frm_Reservation_Salle_Client.Form!sfReservationSalleClient!heure_fin
                .Fields("statut") = Forms!Frm_Reservation_Salle_Client.Form!sfReservationSalleClient!statut
 
                Set rsClient = .Fields("code_cl").Value
                'ajouter un client
                With rsClient
                   .AddNew
                   rsClient!code_cl = Me.code_cl
                   rsClient!nom_prenom = Me.nom_prenom
                   rsClient!tel1 = Me.tel1
                   rsClient!tel2 = Me.tel2
                   rsClient!email = Me.email
 
                   rsClient.Update
                End With
                rsReservation.Update
            End With
 
 
        End If
    End If
End If
 
End Sub
je joins le fichier contenant les relations et le formulaire de reservation:relation et formulaire.docx