Calculer un effectif dans Ms Access

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
Configuration: Windows XP
Firefox 2.0.0.6

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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
    1. 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
      1. 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 ?
    2. oui effectivement cela me plairait ainsi
      1. 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...
    3. 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.
      1. 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