Calculer un effectif dans Ms Access

netchaiev Messages postés 47 Statut Membre -  
 Youcha -
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

  1. Chacual Messages postés 230 Statut Membre 150
     
    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
  2. netchaiev Messages postés 47 Statut Membre 4
     
    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
    1. Chacual Messages postés 230 Statut Membre 150
       
      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
  3. netchaiev Messages postés 47 Statut Membre 4
     
    oui effectivement cela me plairait ainsi
    0
    1. Chacual Messages postés 230 Statut Membre 150
       
      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
  4. Jacques
     
    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
    1. Youcha
       
      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