[ACCESS] Cptedom - syntaxe
GitoKorol
Messages postés
3
Statut
Membre
-
LatelyGeek Messages postés 1759 Statut Membre -
LatelyGeek Messages postés 1759 Statut Membre -
Bonjour,
Je voudrais utiliser la fonction Cptedom sous "ACCESS 2003" avec 3 critères sur 3 champs différents : "Date d'arrivée" & "Date de départ" & "Numéro de chambre" mais je ne trouve pas la syntaxe...
Merci d'avoir participer!!!
Je voudrais utiliser la fonction Cptedom sous "ACCESS 2003" avec 3 critères sur 3 champs différents : "Date d'arrivée" & "Date de départ" & "Numéro de chambre" mais je ne trouve pas la syntaxe...
Merci d'avoir participer!!!
3 réponses
CpteDom("Champ";"Table";"DateArrivée = CritèreDateA AND DateDépart = CritèreDateD AND NumChambre = CritèreChambre")
Bonjour!
En fait, pour que la chambre soit libre, il faute que les autres occupants:
Soient déjà partis quand les nouveaux arrivent
OU
Ne soient pas encore arrivés quand les nouveaux arrivent.
SELECT Réservations.NChambre, Réservations.DateArrivée, Réservations.DateDépart, Réservations.NChambre
FROM Réservations
WHERE (((Réservations.DateArrivée)>[Formulaires]![Formulaire2]![Départ]) AND ((Réservations.NChambre)=[Formulaires]![Formulaire2]![Chambre])) OR (((Réservations.DateDépart)<[Formulaires]![Formulaire2]![Arrivée]) AND ((Réservations.NChambre)=[Formulaires]![Formulaire2]![Chambre]));
Il faut donc compter les enregistrements présents dans la requête qui vérifie ça. Si c'est zéro, la chambre n'est pas libre à cette période.
Ton CpteDom vérifie juste si cette chambre a déjà été réservée.
En fait, pour que la chambre soit libre, il faute que les autres occupants:
Soient déjà partis quand les nouveaux arrivent
OU
Ne soient pas encore arrivés quand les nouveaux arrivent.
SELECT Réservations.NChambre, Réservations.DateArrivée, Réservations.DateDépart, Réservations.NChambre
FROM Réservations
WHERE (((Réservations.DateArrivée)>[Formulaires]![Formulaire2]![Départ]) AND ((Réservations.NChambre)=[Formulaires]![Formulaire2]![Chambre])) OR (((Réservations.DateDépart)<[Formulaires]![Formulaire2]![Arrivée]) AND ((Réservations.NChambre)=[Formulaires]![Formulaire2]![Chambre]));
Il faut donc compter les enregistrements présents dans la requête qui vérifie ça. Si c'est zéro, la chambre n'est pas libre à cette période.
Ton CpteDom vérifie juste si cette chambre a déjà été réservée.
Que le formulaire affiche un message « Attention » si une ou plusieurs dates sont déjà réservées pour la réservation de la chambre pendant la période sollicitée.
En fait, j’ai un formulaire appelé « Nouvelle_réservation » contenant 3 champs « Date d’arrivée » « Date de départ » et « numéro chambre ».
Les 3 champs viennent de la table « Réservation ».
Je voudrais qu’ "après MAJ" le programme exécute une Macro avec « Cptedom » et qu’il vérifie que le numéro de chambre ne soit déjà réservé entre les deux dates.
Dans "Message" il y a:
="La chambre N°" & CpteDom("[Numéro de chambre]";"Réservation";"[Numéro de chambre]=[Formulaires]![Nouvelle_réservation]![Numéro de chambre]") & " est déjà réservée!"
Un grand merci pour la participation !!!