Bonjour, je suis bloqué à ce niveau
je voudrais vérifier qu'une même salle n'est pas réservée à plus de personnes a la même période.
Dans mon sous formulaire j'ai une colonne date_début et une colonne date_fin.
Version imprimable
Bonjour, je suis bloqué à ce niveau
je voudrais vérifier qu'une même salle n'est pas réservée à plus de personnes a la même période.
Dans mon sous formulaire j'ai une colonne date_début et une colonne date_fin.
Bonjour.
C'est toujours un peu délicat car il y a plusieurs possibilités.
- La nouvelle période commence dans une période existante.
- La nouvelle période fini dans une période existante.
- La nouvelle période englobe une période existante.
Où dois-tu faire ce test ?
- Dans une requête ?
- Dans un formulaire ?
- Ailleurs ?
A+
bonjour kmomo,
la réponse dans un autre de tes posts, ici :https://www.developpez.net/forums/d1...-base-donnees/
Merci pour ton intervention!
je n'ai pas saisie ce vous dite,mais je m'explique:
supposons que la salle S1 a été louée/réservée a un client C1 à la date du 01/10/2017 au 03/10/2017;
et après un client C2 vient pour une réservation à la même date aussi i.e du 02/10/2017 au 03/10/2017;
comment empêcher un utilisateur qui veut réserver cette même salle S2 au client C2 sachant qu'elle est déjà réservée à la même plage de date.
voici mon fichier contenat le formulaire:Pièce jointe 317200
peux-tu cliquer sur ce lien ? ==> https://www.developpez.net/forums/d1...s/#post9668580Citation:
je n'ai pas saisie ce vous dite
je te poste le code corrigé :
Code:
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 .... Dim sal as Variant ' string n'est pas bon car n'accepte pas le nul Dim code_sal as long code_sal = Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!code_sal 'recherche dans la table reservation les salles qui sont déjà réservées à cette même période et le stocke dans la variable sal cdate1 = Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!date_debut cdate2 = Forms!Frm_Reservation_Salle_Client.sfReservationSalleClient.Form!date_fin 'contrôle date début sal = DLookup("code_sal", "RESERVATION","#" & CDate(Format(cdate1,"mm/dd/yyyy")) & "# between date_debut between And date_fin and code_sal=" & code_sal) ' if nz(sal,0) = code_sal then MsgBox "Salle occupée à cette période" exit sub else ' contrôle date fin sal = DLookup("code_sal", "RESERVATION","#" & CDate(Format(cdate2,"mm/dd/yyyy")) & "# between date_debut between And date_fin and code_sal=" & code_sal) end if If (nz(sal,0) = code_sal) Then MsgBox "Salle occupée à cette période" Else Set db = CurrentDb ....