IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

comment effectuer ma requete


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Points : 8
    Points
    8
    Par défaut comment effectuer ma requete
    bonjour à tous
    je suis nouvelle dans ce forum et autodidacte sous access
    voici mon problème : j'ai créer une bdd sous access pour lister les clients d'un camping
    mes champs sont : nom / date arrivée / durée du sejour / nationalité / nombre de personnes / nombre d'emplacements

    l'insee me demande de lister le nombre de gens par nationalité qui ont passé la nuit sur le camping pour chaque jours de avril mai juin juillet aout septembre

    mon problème est celui là ; je ne sais pas comment interroger la base pour savoir par exemple qui était là le 23 juillet ? étant donné que je n'ai que la date d'arriver et le nombre de jours passés sur le camping.

    Il est bien sur très facile de calculer la date de départ (date arrivée + nombre de jours = date de départ)

    j'espère avoir été suffisement précise

    merci d'avance de votre aide ! je suis déjà très en retard pour les rapports d'Insee

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Peut-être avec quelquechose comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select count(nom) from MaTable where Arrivée <= #07/23/2007# and Arrivée + NbJours >= #07/23/2007#

  3. #3
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Ou plutot ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select nationalite , sum(nombre personne) from ma_table
    Where  date_arrivee <= 23 Juillet
    And    date_arrivee + Durée sejour >= 23 Juillet
    Group by nationalite
    [Modifié] Suite Remarque de pc75 ... merci à lui [/modifié]

  4. #4
    Membre à l'essai
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Fonctionnaire

    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Bonjour, je ne sais pas si ton camping comporte un grand nombre de personnes, mais moi à ta place, j'aurais créé une date de départ également. Il est alors très facile de calculer le nombre de jours que les gens sont restés sur place.

    Tu pourrais aussi créer un champ boléen oui/non avec une case à cocher pour indiquer les clients qui ont quitté le camping oui ou non. Un croix dans la case pour ceux qui ont quitté, laisser vide pour ceux qui y sont encore. Tu peux alors repérer immédiatement avec un filtre qui est là ou pas là quelle que soit la date.

    Si tu veux trier par nationalité, il te suffit dans ton formulaire ou dans ta feuille de données de cliquer dans le champ nationalité et de cliquer sur l'icône a/z ou za pour trier dans l'ordre croissant ou décroissant.

    Si tu veux, tu peux baser ton formulaire dans lequel tu encodes sur une requête dans laquelle tu auras fait glisser tous les champs de ta table et où tu auras choisis dans l'option tri de la requête en dessous du champ nationalité
    croissant ou décroissant.

    Ainsi, ton formulaire, à l'ouverture sera toujours trié par défaut par nationalité


    Je te conseille même de créer une requête création de table qui te permettra d'avoir une date de départ

    Je suppose que le nombre de jours passés sur le camping est un champ numérique.

    Pour ce faire, essaie ceci
    Crée une requête dans laquelle tu insères tous les champs de ta table
    nom / date arrivée / durée du sejour / nationalité / nombre de personnes / nombre d'emplacements
    décoche durée du séjour et crée une expression comme dernier champ dans une colonne vierge

    Par exemple : date de départ:[date arrivée]+[durée du séjour]

    Tu emploieras alors cette nouvelle table à la place de l'autre.

  5. #5
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Citation Envoyé par argoet Voir le message
    Ou plutot ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select nationalite , sum(nombre personne) from ma_table
    Where  date_arrivee >= 23 Juillet
    And    date_arrivee + Durée sejour <= 23 Juillet
    Group by nationalite
    Je dois être mal réveillé, mais si un client est arrivé le 20 juillet, avec la condition "Where date_arrivee >= 23 Juillet", y a pas un truc là ?

  6. #6
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Citation Envoyé par pc75 Voir le message
    Re,



    Je dois être mal réveillé, mais si un client est arrivé le 20 juillet, avec la condition "Where date_arrivee >= 23 Juillet", y a pas un truc là ?

    Bien vu pc75
    C'est moi qui suit mal reveillée (toujours pas remis de notre defaite de samedi )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select nationalite , sum(nombre personne) from ma_table
    Where  date_arrivee <= 23 Juillet
    And    date_arrivee + Durée sejour >= 23 Juillet
    Group by nationalite
    J'ai modifié le Post de Base
    Merci à vous "pc75"
    cordialement
    @argoët

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Bonjour, en effet, la j'ai reussi a avoir les nationalités et nombre de personne, merci.
    Le pb c'est que le resultat dois m'apporter pour chaque jours(6 mois en tout) le nbre de personnes qui ont passés la nuit sur le camping, ainsi que leur nationalité.
    Pour le moment, je n'ai le résultat que pour un jour donné et je n'arrive pas a trouver la solution à ce pb.

    Merci d'avance pour votre aide.

  8. #8
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Je n'ai pas testé, mais avec un truc comme ça, tu devrais t'en sortir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select Count(IIf([Arrivée] <= #07/23/2007# and Arrivée + NbJours >= #07/23/2007#,[Nom])) AS [23 Juiller],
           Count(IIf([Arrivée] <= #07/24/2007# and Arrivée + NbJours >= #07/24/2007#,[Nom])) AS [24 Juiller],
           Count(IIf([Arrivée] <= #07/25/2007# and Arrivée + NbJours >= #07/25/2007#,[Nom])) AS [25 Juiller]
    from MaTable

  9. #9
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Salut,
    Le plus simple serait d'avoir une table "calendrier"
    A défaut il te suffit de le faire avec une requête préalable
    select jour d'arrivée from la table group by jour d'arrivée (regroupement)
    tu l'enregistres
    tu l'ajoute dans ta requête comme si c'était une table
    et tu poses sur le champ jourla condition.[jour] Entre [jour d'arrivée] et [jour de départ]
    Attention le between (entre) ne compte pas le dernier jour si tu veux que le dernier jour soit pris en compte il te faut ajouter 1 jour à la date de départ

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Points : 8
    Points
    8
    Par défaut base sql
    merci à tous pour vos conseils
    je pense que l'année prochaine je referai tout cela
    en + simple ! html et php
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Comment effectuer ses requêtes multiple proprement ?
    Par starr dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 12/08/2007, 23h36
  2. comment effectuer cette requete
    Par gforce dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/11/2006, 16h49
  3. [Conception] Comment créer un lien pour effectuer une requete ?
    Par Poutchou dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/03/2006, 12h54
  4. Réponses: 2
    Dernier message: 03/05/2004, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo