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 :

Demande d'aide sur une formule dans Access 2010


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Brésil

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Demande d'aide sur une formule dans Access 2010
    Bonjour,

    Je voudrais vous demander de bien vouloir m'aider sur un résultat dont je n'arrive pas à trouver la formule

    J'ai une table "Information vol", dans cette table il y a un champ "Date d'arrivée" et un champ "date de départ".

    Je voudrais, dans un autre champ que je pourrais intituler "Nombre de personne présente ce jour", que celui-ci me donne la valeur total des personnes présente à la date du jour.

    connaitriez vous la formule adéquate ?

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour et sois le bienvenu parmi nous,
    La formule est assez complexe, car il y a trois cas à envisager :



    Il faut intercepter :
    ceux qui sont arrivés après le début (inclus) et repartis avant la fin (incluse) ;
    ceux qui étaient déjà là au début ;
    ceux qui étaient encore là à la fin.

    Dans le formulaire fFormulaire de l'exemple, un contrôle Debut et un contrôle Fin







    Je te propose d’écrire avec le QBE une requête qui intercepte ces cas :



    Voici son SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT tPresences.Personne, tPresences.Arrivee, tPresences.Depart
    FROM tPresences
    WHERE (((tPresences.Arrivee)>=[Formulaires]![fLeFormulaire]![Debut]) AND ((tPresences.Depart)<=[Formulaires]![fLeFormulaire]![Fin])) OR (((tPresences.Arrivee)<=[Formulaires]![fLeFormulaire]![Debut]) AND ((tPresences.Depart)<=[Formulaires]![fLeFormulaire]![Fin])) OR (((tPresences.Arrivee)<=[Formulaires]![fLeFormulaire]![Debut]) AND ((tPresences.Depart)>=[Formulaires]![fLeFormulaire]![Fin])) OR (((tPresences.Arrivee)>=[Formulaires]![fLeFormulaire]![Debut]) AND ((tPresences.Depart)>=[Formulaires]![fLeFormulaire]![Fin]))
    ORDER BY tPresences.Personne;
    Cette requête te donne une ligne par personne présente entre les deux instants renseignés dans fLeFormulaire

    Et comme source pour le nombre de présents, tu utilises la fonction de domaine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CpteDom("*";"rUneRequete")
    Et pour actualiser à chaque modification d’une date, ce code dans le module du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Compare Database
    Option Explicit
     
    Private Sub Debut_AfterUpdate()
      Me.Presents.Requery
    End Sub
     
    Private Sub Fin_AfterUpdate()
      Me.Presents.Requery
    End Sub

    La DB qui m'a servi pour tester est ici.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  3. #3
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Salut ClaudeLELOUP et bienvenu PSUL26,

    @ClaudeLELOUP : je pense que PSUL26 voudrait non pas sur une plage mais à une date donnée.
    au quel cas :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Count(*) AS [Nombre de personne présente ce jour]
    FROM [Information vol]
    WHERE (CDate([lejour])>=[Date d'arrivée]) And (CDate([lejour])<=Nz([date de départ],CDate([lejour])));

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Brésil

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut AC-2010
    Merci à vous deux de bien vouloir m'aider, mais pouvez vous me dire, ou dois je mettre ce code SQL

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Prends le temps de télécharger et/ou d'étudier l'exemple qu'a pris aimablement le temps de t'expliquer ClaudeLELOUP.
    Tu y trouveras les éléments de réponse à ta question.

Discussions similaires

  1. Aide pour une formule dans Excel
    Par NEC14 dans le forum Excel
    Réponses: 2
    Dernier message: 27/01/2009, 14h16
  2. Demande d'aide sur une expression régulière
    Par bubulemaster dans le forum Débuter
    Réponses: 4
    Dernier message: 03/04/2008, 13h19
  3. Demande d'aide sur une action sur un bouton
    Par Kemanke dans le forum MFC
    Réponses: 4
    Dernier message: 29/06/2007, 16h15
  4. aide sur une formule avec date
    Par rudasalska dans le forum Excel
    Réponses: 2
    Dernier message: 27/05/2007, 12h17
  5. [Oracle] aide sur une requète dans un count
    Par d_token dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/09/2006, 15h32

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