Dates d'une periode donnée en paramètre sql

Bonjour,

J'ai une base de données access 2003 dans laquelle je gère des hôtels en passant de la réservation à l'enregistrement des séjours.

J'aimerais selectionner toutes les dates (jj/mm/aaaa) d'une période donnée en paramètres (date début) et (date fin) afin de calculer pour chacune de ces dates le pourcentage de chambres inoccupées.

Ce qui me pose problème évidemment, c'est de sélectionner toutes les dates pour une période donnée en paramètres.

Pour ce faire je gère à partir d'une date de debut de sejour et d'un nombre de jours de séjour.

Je suis dans le brouillard le plus complet.

Merci d'avance si quelqu'un a le temps.
Configuration: Windows Vista
Firefox 3.0.3

5 réponses

  1. Si tu ne peux pas utiliser de code, la création d'une table avec toutes les dates doit être la seule solution.

    Attention aux années bissextiles ou non.
    1. Et justement...

      Ma problématique est d'afficher les dates alors qu'elles ne sont pas nécessairement dans ma base.

      exemple :

      Il n'y a qu'un séjour dans ma base:
      date debut = 13/04/2007
      date fin = 20/04/2007
      numéro de chambre = 26

      je veux toutes les dates où la chambre 26 est occupée entre deux paramètres:

      ex paramètre début 15/04/2007 et paramètre fin 19/04/2007

      Si j'utilise datedebut et datefin, alors ma requête ne me ressortira aucun résultat alors que la chambre est occupée le

      15, 16, 17, 18 et 19/04/07.

      On m'a proposé de créer une table avec toutes les dates, mais c'est un peu sauvage.
      De plus je ne peux pas utiliser le code.

      Je suis désolé, mais je t'ai tout dit sur ma requête.

      merci
      1. Ben, ça te donnera toutes les dates si elles sont dans ta base sinon c'est qu'il n'y a pas de réservation.

        Mais vu que tu ne donnes pas d'indications supplémentaires, je ne peux t'en dire plus.

        Si tes réservations sont enregistrés par période, il faut que tu gères tes dates du côté code et non dans ta requête.
        1. Ce que j'aimerais dans l'absolu c'est une requête qui lorsque l'utilisateur choisit les paramètres [Date début] et [Date fin] me donne toutes les dates de l'intervalle.

          exemple :

          L'utilisateur choisit 13/04/2007 en début et 16/04/2007 en fin, et alors la requête me donne :

          13/04/2007
          14/04/2007
          15/04/2007
          16/04/2007

          Ma requête c'est

          Pourcentage de chambres inoccupées pour chacun des jours d'une période donnée,

          mais pour le pourcentage je me demmerderai.

          Mais merci pour ta réponse.
          1. Salut,

            SELECT count(nombre_de_chambre_occupées)*100 / nombre_de_chambre_total AS pourcentage
            FROM maTable WHERE date BETWEEN 'date_debut' AND 'date_fin' GROUP BY date;
            


            Après, je ne peux pas t'en dire plus n'ayant pas la moindre indications sur ta requête.