Calculer un effectif dans Ms Access

Fermé
netchaiev Messages postés 45 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 13 juillet 2012 - 31 août 2007 à 13:17
 Youcha - 6 oct. 2015 à 09:55
salut à tous,

j'ai un petit problème que j'espère vous pourrez m'aider à résoudre.

je construit un BDD pour un hotel. Il y a dedans tout ce qui concerne la facturation etc.... Là cela ne pose pas de problèmes.

Sinon, j'aimerais savoir comment calculer l'effectif de client par jours pour voir sur l'année l'evolution de la fréquentation et surtout calculer le taux de remplissage.

Je dispose pour cela de la date d'arrivée (datar) et de la date de départ (datdepart) pour chaque client, avec son nom, et du nombre de chambre. mais comment savoir le nombre de client chaque jour ou le nb de chambre occupée chaque jours

je sais cela doit être simple, mais là j'ai un trou.

Merci à tous

netchaiev

4 réponses

Chacual Messages postés 230 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 15 octobre 2007 150
31 août 2007 à 13:27
Nombre de clients :
SELECT COUNT(*)
FROM taTable
WHERE DATAR <= DateSouhaitee
AND DATDEPART >= DateSouhaitee

Chambres occupées :
SELECT SUM(nbChambres)
FROM taTable
WHERE DATAR <= DateSouhaitee
AND DATDEPART >= DateSouhaitee
0
netchaiev Messages postés 45 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 13 juillet 2012 4
31 août 2007 à 15:01
Salut chacual,

en fait cela ne fonctionne pas vraiment comme je l'avais prévu. Mais peut être me suis-je mal exprimé.

Dans la table présence j'ai
date d'arrivée (datar)
date de départ (datdepart)
nom du client (nom)

J'aimerais créer une requête qui me donne les 365 de l'année ou une partie et calcul à chaque jour le nombre de clien présent.

Dans les requête que tu m'as donné (ou alors je suis un branquignole), cela me donne le nombre de personne arrivées dans une journée, mais pas le nombre de personne présente.

Je te rremercie

Netchaiev
0
Chacual Messages postés 230 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 15 octobre 2007 150
31 août 2007 à 15:04
Tu veux donc une requête qui te renseigne un tableau complet ?
Ce qui correspondrait à ma première requête mais à jouer pour chaque jour de l'année ?
0
netchaiev Messages postés 45 Date d'inscription lundi 15 août 2005 Statut Membre Dernière intervention 13 juillet 2012 4
31 août 2007 à 15:05
oui effectivement cela me plairait ainsi
0
Chacual Messages postés 230 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 15 octobre 2007 150
31 août 2007 à 15:10
Ca va pas être possible en une requête ... ou alors elle fera au moins autant de lignes qu'il y a de jours sur la période à traiter !
Tu ne peux pas faire une boucle qui exécuterait cette requête pour chaque jour de l'année ?
J'utilise très peu voire pas du tout Access alors je ne sais pas si on peut créer des blocs de code en VB ou autre...
0
Bonjour,
Voici un premier brouillon. Il permet de lister les chambres occupées entre 2 dates
Arbitrairement j'ai utilisé 3 tables : Occupation/Chambres/Clients
Adaptez la syntaxe à votre contexte

SELECT Chambres.[N° de Chambre] AS [Chambres occupées], Clients.Nom_client, [Date_Fin]-[Date_Début] AS Durée, Occupation.Date_Début, Occupation.Date_Fin
FROM Occupation INNER JOIN (Chambres INNER JOIN Clients ON Chambres.Réf_Chambre = Clients.Réf_Chambre) ON Occupation.RéfChambre = Chambres.[N° de Chambre]
GROUP BY Chambres.[N° de Chambre], Clients.Nom_client, [Date_Fin]-[Date_Début], Occupation.Date_Début, Occupation.Date_Fin
HAVING ((([Date_Fin]-[Date_Début])<>0) AND ((Occupation.Date_Début)>[Date début ?]) AND ((Occupation.Date_Fin)<[Date Fin ?]));

Cordialement

La science ne fait que trouver ce qui existe depuis toujours
REEVES Hubert.
0
Bonjour
J'ai créer un logiciel pour une dentisterie sur access
Le problème c'est que je veut voir l'effectif par age que je prend chaque mois
0