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

Access Discussion :

Trier les dates chronologiquement à près une requete.


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Septembre 2018
    Messages : 15
    Par défaut Trier les dates chronologiquement à près une requete.
    Bonjour.

    Après des recherches j'ai trouvé sur ce site ce petit modelé qui me convient assez bien
    _______________________________________________________________________
    Versions : Toutes

    Objectif : Etablir un calendrier des absences des employés d'une entreprise sans utiliser VBA

    Soit la table des absences nommées tblAbsence :

    NumEmploye DebutAbsence FinAbsence
    1 10/12/2005 13/12/2005
    2 25/12/2005 01/01/2006
    3 26/12/2005 27/12/2005
    1 04/05/2006 07/05/2006

    On désire obtenir la liste des jours où chaque employé a été absent.

    Pour cela 3 tables "outils" sont nécessaires.

    La table tbl_Jours regroupe les numéros des jours : de 0 à 31
    La table tbl_Mois regroupe les mois : de 0 à 12
    La table tbl_Annee regroupe les années utiles : de 2000 à 2010 pour notre exemple
    Ainsi, l'ensemble des jours peut être obtenu par une requête nommée R01_Calendrier

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT tbl_Jours.Numero & "/" & tbl_Mois.Numero & "/" & tbl_Annee.Numero AS D
    FROM tbl_jours, tbl_mois, tbl_annee
    WHERE IsDate(tbl_Jours.Numero & "/" & tbl_Mois.Numero & "/" & tbl_Annee.Numero)
    ORDER BY tbl_annee.Numero, tbl_Mois.numero, tbl_Jours.numero;
    Enfin, une autre requête nous permet d'obtenir le résultat souhaité

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT NumEmploye, D
    FROM TblAbsence, R01_Calendrier
    WHERE D>=DebutAbsence AND D<=FinAbsence
    ORDER BY NumEmploye,D

    NumEmploye D
    1 10/12/2005
    1 11/12/2005
    1 12/12/2005
    1 13/12/2005
    1 4/5/2006
    1 5/5/2006
    1 6/5/2006
    1 7/5/2006
    2 1/1/2006
    2 25/12/2005
    2 26/12/2005
    2 27/12/2005
    2 28/12/2005
    2 29/12/2005
    2 30/12/2005
    2 31/12/2005
    3 26/12/2005
    3 27/12/2005

    Un inconvénient majeur est que les produits cartésiens de la première requête ramènent un nombre important de données. Pour contourner cela, il serait possible de filtrer les années de la première requête de telle sorte à ne pas générer trop d'enregistrements inutiles.

    Créé le 12 novembre 2005 par Tofalu

    __________________________________________________________________________________

    Le seul petit problème actuellement est que le résultat des dates n'est pas chronologiquement dans le temps comme vous pouvez le voir.

    Quel serait la dernière manipulation à faire pour que ce soit bien dans l'ordre.
    Merci à vous pour votre aide.

    Cordialement

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    Bonjour,

    Déjà, il faut utiliser la fonction DateSerial qui est vraiment une référence pour plein de cas de figures de ce type et qui permet d'avoir une valeur de type date :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DateSerial(tbl_Annee.Numero,tbl_Mois.Numero,tbl_Jours.Numero) AS D
    FROM tbl_jours, tbl_mois, tbl_annee
    ORDER BY tbl_annee.Numero, tbl_Mois.numero, tbl_Jours.numero;

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Septembre 2018
    Messages : 15
    Par défaut
    Bonjour.

    Un grand merci, Pour votre réponse et surtout la solution.

    Passez une bonne journée.
    Cordialement

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    Pas de souci,

    Bonne journée également
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

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

Discussions similaires

  1. Trier des dates lors d'une requete
    Par franck31 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 07/11/2011, 19h25
  2. [DisplayTag] Problème pour trier les dates dans un tableau
    Par Pascale38 dans le forum Taglibs
    Réponses: 13
    Dernier message: 01/09/2006, 09h58
  3. comment compter les entrées identiques dans une requete?
    Par Chico_Latino dans le forum Access
    Réponses: 2
    Dernier message: 11/04/2006, 18h16
  4. [MySQL] Trier les résultats résultant d'une BDD
    Par florent dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/12/2005, 20h22
  5. Date nulle dans une requete paramétrée avec TParameter
    Par denrette dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/06/2004, 08h37

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