1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

[Demande] Comment déterminer une plage horaire?

Discussion dans 'Résolution problème & conseils' créé par suenodesign, Mai 21, 2018.

  1. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    507
    J'aime reçus:
    732
    Bonsoir tout le monde.

    Je vous demande de m'aider à déterminer une faction de travail parmi plusieurs.

    Je vous explique :

    Dans une application de pointage et d'horaire de travail

    J'ai une table où je garde les factions de travail d'une petite entreprise

    N° Design Début Fin
    1 MATIN 06:00:00 13:59:59
    2 APRÈS-MIDI 14:00:00 21:59:59
    3 SOIR 22:00:00 05:59:59

    Je voudrait interroger chaque heure de pointage du tableau suivant
    [​IMG]
    Pour déterminer à quelle faction il appartient. 1, 2 ou 3

    (La troisième faction est à cheval sur deux journées, celle avant minuit et celle d'après)

    Vos idées seront les bienvenues :)
     
    #1 suenodesign, Mai 21, 2018
    Dernière édition: Mai 21, 2018
  2. Fouedusa

    Fouedusa Active Member

    Inscrit:
    Avr 22, 2018
    Messages:
    132
    J'aime reçus:
    120
    Bonjour;
    je pense qu'il faut partager la rubrique dateheure en deux , rubrique DATE et rubrique HEURE
    et puis avec un simple code de si sinon

    Exemple :
    Code (Windev):
    SI (HEURE>= "060000") ET (HEURE<= "135959") ALORS
       

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("MATIN")
    SINON
        SI (HEURE>= "140000") ET (HEURE<= "215959") ALORS
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("APRÈS-MIDI")
        SINON
           

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ("SOIR")
        FIN
    FIN
     
    Bon Dev.
     
    #2 Fouedusa, Mai 22, 2018
    Dernière édition par un modérateur: Mai 23, 2018
    suenodesign apprécie ceci.
  3. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    507
    J'aime reçus:
    732
    Merci @

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    Bonne piste, je teste et je ferai des retours.

    Edit :

    Les bornes ne sont pas fixes

    Des fois j'aurais deux factions jusqu'à plusieurs factions à délimitations variables

    Ce qui rend la tâche plus au moins tordue.
     
    #3 suenodesign, Mai 22, 2018
    Dernière édition: Mai 22, 2018
    joker apprécie ceci.
  4. Motorola

    Motorola Member
    WXG 22

    Inscrit:
    Jan 2, 2018
    Messages:
    38
    J'aime reçus:
    54
    Code (Windev):

    hBornee1Min                est Heure = "000000"
    hBornee1Max                est Heure = "055959"

    hBornee2Min                est Heure = "060000"
    hBornee2Max                est Heure = "115959"

    hBornee3Min                est Heure = "120000"
    hBornee3Max                est Heure = "175959"

    hHeureControl            est Heure = "130502"
    sResultat                est chaîne

    SWITCH hHeureControl
        CASE hBornee1Min <= * <= hBornee1Max
            sResultat = "NUIT"

        CASE hBornee2Min <= * <= hBornee2Max
            sResultat = "MATIN"

        CASE hBornee3Min <= * <= hBornee3Max
            sResultat = "APRES MIDI"
         
        OTHER CASE
            sResultat = "SOIR"    
    END
     
     
    #4 Motorola, Mai 22, 2018
    Dernière édition par un modérateur: Mai 23, 2018
    suenodesign, joker et WX1331 aiment ça.
  5. hh59

    hh59 New Member

    Inscrit:
    Mar 21, 2018
    Messages:
    10
    J'aime reçus:
    11
    J'avais déjà eu le "problème" dans un de mes devs.
    Le plus simple :
    - Mettre dans une table (ou un tableau ou autre chose de triable) les différents horaires de la journée en cours de recherche.
    - Trier puis parcourir la table pour savoir dans quelle tranche tu es
    - Il faut gérer les horaires de nuit (le plus dur en fait...) en parcourant la journée précédente
    Dans ton exemple :
    1 MATIN 06:00:00 13:59:59
    2 APRÈS-MIDI 14:00:00 21:59:59
    3 SOIR 22:00:00 05:59:59
    La table serait pour la journée du 22/05/2018 ( la date à la fin est la date prise en compte)
    3 - SOIR - 00:00 - 05:59 - 21/05/2018
    1 - MATIN - 06:00 - 13:59 - 22/05/2018
    2 - AP - 14:00 - 21:59 - 22/05/2018
    3 - SOIR - 22:00 - 23:59 - 22/05/2018
    Là, on a tout de suite :
    - 21/05 SOIR pour le 22/05 à 03:34
    - 22/05 SOIR pour le 22/05 à 22:15
    Et ca marche quelle que soit les tranches dans ta base de données.
    J'espère avoir été clair.
     
    WX1331 apprécie ceci.
  6. suenodesign

    suenodesign Well-Known Member
    MEMBRE WX

    Inscrit:
    Jan 1, 2018
    Messages:
    507
    J'aime reçus:
    732
    UN GRAND MERCI les gars

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    d'avoir prêté du temps et de l’intérêt à ce sujet.

    Je combine vos idées et je reviens pour les retours.

    L'astuce de

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    me donne de nouvelles lumières. Merci.
     
    joker apprécie ceci.

Partager cette page

Chargement...