Bien le bonjour à toutes et tous,
Après avoir parcouru en long et en large ce très riche forum, je ne suis pas parvenu à trouver une solution au problème que je rencontre.
Aussi me permets-je de créer cette nouvelle discussion afin de solliciter une âme charitable qui disposerait d'un peu de temps pour se pencher sur mon cas...
Voici le cas sus-mentionné :
Je me suis lancé dans la réalisation d'une base de données permettant de gérer les réservations de chambres d'hôtes.
Voici la structure :
Une T_Chambres composée d'un champ ID_CHAMBRE et d'un champ NOMCHAMBRE
Une T_Reservations composée d'un champ ID_RES, d'un champ DateIn, d'un champ DateOut et d'un champ CS_CHAMBRE
La relation T_Chambres (1) vers T_Reservation (plusieurs)
Pour l'instant je procède à quelques tests, et je bute sur celui-ci :
Je souhaite afficher les chambres disponibles à une période définie (ex: la chambre 1 est réservée du 1 au 5, puis du 10 au 15)
-> elle est donc libre du 5 au 10 et j'aimerais l'afficher dans un formulaire par exemple.
J'ai créé :
une requête affichant les chambres et leurs réservations : R_Chambres
un formulaire basé sur cette requête : F_Chambres_Dispo
un formulaire indépendant contenant 2 zones de texte (DateRes_IN et DateRes_OUT) et un bouton sur lequel est placé le code suivant :
Quelles que soient les dates entrées, la réponse est toujours la MsgBox
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Bt_Verif_Res_Click() If Me.DateRes_IN >= " R_Chambres.DateOut" And Me.DateRes_OUT <= " R_Chambres.DateIn" Then DoCmd.OpenForm "F_Chambres_Dispo", acNormal Exit Sub Else Reponse = MsgBox("Aucune chambre disponible à cette date !", vbOKOnly, "ATTENTION !") End If End Sub
Le problème viendrait-il du fait que DateIN et DateOut sont sur la même ligne de l'enregistrement et que donc la période se calcule
entre le 1 et le 5 au lieu du 5 et du 10 ?
Si oui, que faire alors pour afficher la chambre libre à la période entre le 5 et le 10 ?
J'espère avoir été suffisement clair et complet dans mon explication :/
En vous remerciant à l'avance
Jeanlou
Partager