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

IHM Discussion :

affichage des premiers enregistrements suivant plusieurs critères


Sujet :

IHM

  1. #1
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut affichage des premiers enregistrements suivant plusieurs critères
    Bonsoir à tous,
    Alors voilà, j'ai une table avec en ligne
    des noms de chauffeurs, date et heure début, date et heure fin, activités, durée et kilomètres.
    les activités sont deux trois sortes : repos, travail et conduite
    Le problème est le suivant :
    Certains chauffeurs en début de journée font quelques minutes de travail suivi de quelques minutes de conduite, re- quelques minutes de travail et re-re- quelques minutes de conduite.
    Je considère qu'un "vrai" départ en tournée dépasse les 15 minutes pour l'activité conduite.
    Je voudrais afficher, pour chaque chauffeur, pour chaque journée la somme du travail avant la "vraie" période de conduite (>à 15minutes).
    J'ai cherché du coté du "top 10" mais ça m'affiche que pour un seul chauffeur et pour une seule journée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT TOP 10 CUMUL.Début, CUMUL.clé_nom_date_début, CUMUL.nom_chauffeur, CUMUL.Fin, CUMUL.Activité, CUMUL.[Activité d'origine], CUMUL.Durée, CUMUL.kilomètres
    FROM CUMUL;

  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 : 79
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Je suppose que tu disposes d’une table qui contient :
    Id chauffeur ;
    Id activité ;
    début ;
    fin.
    J’ai compris que tu cherches :
    pour chaque jour et chaque chauffeur la durée totale de l’activité « travail » qui précède une activité « conduite » d’une durée supérieure à 15 minutes.
    Correct ?

  3. #3
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Bonjour Claude,
    Absolument, j'ai bien la table et ma recherche est bien celle-ci.

  4. #4
    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 : 79
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Tu auras probablement la réponse en une seule requête si un virtuose du sql passe par ici.

    En attendant voici une solution artisanale.
    N.B. J'ai supposé
    - qu'il n'y a qu'une seule tournée "réelle" par jour ;
    - idPrestation : 2 pour Travail ; 3 pour Tournée.



    Une première requête "r001Tournees" pour détecter "la" tournée de chaque jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT CLng([Debut]-0.5) AS Journee, tPrestation.Debut, tPrestation.idChauffeur, tPrestation.idActivite
    FROM tPrestation
    WHERE (((tPrestation.idActivite)=3) AND (([Fin]-[Debut])>#12/30/1899 0:15:0#));
    Une deuxième "r002Travail" pour extraire les prestations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT CLng([Debut]-0.5) AS Journee, tPrestation.idChauffeur, tPrestation.idActivite, [Fin]-[Debut] AS Duree, tPrestation.Fin
    FROM tPrestation
    WHERE (((tPrestation.idActivite)=2));
    et enfin, la requête qui te donne le résultat (du moins j'espère !) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Format([Journee],"dd/mm/yy") AS Journée, r002Travail.idChauffeur, Sum(r002Travail.Duree) AS SommeDeDuree
    FROM r002Travail
    WHERE (((r002Travail.Fin)<=DLookUp("Debut","r001Tournees","idChauffeur=" & [idChauffeur] & " and Journee =" & [Journee])) AND ((r002Travail.idActivite)=2))
    GROUP BY Format([Journee],"dd/mm/yy"), r002Travail.idChauffeur;
    Je te joins l'exemple qui m'a servi à la mise au point.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Bonsoir Claude,
    Je viens d'essayer avec des data's (bon j'ai pas tout bien compris !! surtout les requêtes, la 3ème j'en parle même pas !!!)
    As-tu un tuto sur le "Où" ?

    Concernant mon projet, malheureusement cela ne me remonte pas les bonnes infos.
    Ci-joint fichier :
    dans r003 la première ligne me remonte 2h11, or pour le 03/09/2012 la première opération de conduite (code 3) supérieure à 15 minutes est de 1h27. L'opération de travail (code 2) est donc normalement de 3minutes ???

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur C++
    Inscrit en
    Avril 2012
    Messages
    771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 771
    Points : 1 631
    Points
    1 631
    Par défaut
    Bonsoir,

    pourrait tu donner la structure de tes différentes tables impliquée dans le calcul,
    et la "forme" du résultat attendu, le mieux serait carrément le script de création des différentes table et quelque données même anonymisée pour qu'on puisse faire des test des requête,

    pour le résultat je pense que tu veux :

    IdChauffeur | Temps travaillé | départ en tourné |

    ?

  7. #7
    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 : 79
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    bon j'ai pas tout bien compris !!
    La table T01_cumul dans ton fichier joint en est la preuve !

    Comme Exia93 te le suggère, poste un échantillon de ta db telle qu'elle existe (version compatible avec Access2000).

  8. #8
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut extraire les premiers enregistrements suivants un critère
    Bonsoir Claude,
    Ci joint ma db.
    La table T01 est pas super clean tout simplement car le programme qui me génère ces infos me les restitues comme ça !
    Pour les activités "repos" je n'ai pas souvent d'heure.
    Dans la Requête1 tu peux constater que le 03/09/2012 l'activité 2 fait 3 minutes et qu'elle est immédiatement suivie par une periode de conduite de 1h27. Or, dans la R003, pour le 03/09/2012 c'est 2h11 qui me "remonte" ??

  9. #9
    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 : 79
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Garbage in, garbage out (GIGO) !


    La table T01 est pas super clean tout simplement car le programme qui me génère ces infos me les restitues comme ça !
    C'est là qu'est l'os !

    J'ai ajouté 2 requêtes "préparatoires" : r0000 et r0001 pour mettre de l'ordre dans tes données.

    Dans l'exemple joint, exécute dans l'ordre :
    r0000 ;
    r0001 ;
    r003.

    Et tu recevras le résultat attendu.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2007] Extraction de données suivant plusieurs critères
    Par jejeld dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/10/2009, 11h22
  2. Réponses: 3
    Dernier message: 31/07/2009, 14h24
  3. Réponses: 7
    Dernier message: 06/07/2009, 13h22
  4. Affichage des mêmes données pour plusieurs membres :O
    Par Whinging dans le forum Langage SQL
    Réponses: 4
    Dernier message: 14/04/2008, 22h29
  5. Compte d'enregistrement avec plusieurs critères
    Par MAMANHOU dans le forum VBA Access
    Réponses: 9
    Dernier message: 25/07/2007, 09h14

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