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 :

Problème de gestion d'heures sous Access


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué

    Inscrit en
    Avril 2004
    Messages
    646
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 646
    Points : 145
    Points
    145
    Par défaut Problème de gestion d'heures sous Access
    Salut,

    Voilà, j'ai un problème au niveau de la création d'une procédure. J'ai une table "production" avec 2 champs DTDEBUT et DTFIN qui correspondent aux heures de début de production et fin de production. Le calcul est valable pour chaque enregistrement de la table.

    Je dois, à ces champs, retrancher un temps de pause qui correspond à ces règles :

    • si le début >= 8:00 et fin <= 12:00, on retranche 10 mn,
    • si le début >= 8:00 et fin >= 16:20, on retranche 1h20mn,
    • si le début >= 11:00 et fin <= 14:00, on retranche 1h,
    • si le début >= 13:00 et fin <= 16:00, on retranche 10mn.


    Comment arrive-t-on à programmer ces événements ?

    En fait, j'ai déjà essayé avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
          '10 mn
          If ((rst![DTDEBUT] >= #8:00:00 AM#) And (rst![DTFIN] <= #12:00:00 PM#)) Then
            rst![TPS_PAUSE] = 10
     
          Else
     
            '1 h 00 mn
            If ((rst![DTDEBUT] >= #11:00:00 AM#) And (rst![DTFIN] <= #2:00:00 PM#)) Then
              rst![TPS_PAUSE] = 60
            Else
     
              '0 h 10 mn
              If ((rst![DTDEBUT] >= #1:00:00 PM#) And (rst![DTFIN] <= #4:00:00 PM#)) Then
                rst![TPS_PAUSE] = 10
              Else
     
                'Dans tous les autres cas : 1 h 20
                rst![TPS_PAUSE] = 80
              End If
            End If
          End If
    Mais cela ne marche pas par exemple, si la date début est à 9:30 est date de fin à 10:30, cela me retranche 10 mn !

    Comment arriver à réaliser cette procédure correctement ?

    Merci par avance.

    PS. : désolé, je me suis planté de sous-rubrique, c'était dans VBA Access :-(.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 652
    Points : 34 358
    Points
    34 358
    Par défaut
    salut,
    je ne comprends pas ton problème, vu que selon ton code, on retranche bien 10 minutes pour les horaires de début et fin comprises entre 8h00 et 12h00...

  3. #3
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    tu n'aurais pas comme un problème d'algo ?
    J'ai tenté de le tracer, et, sauf erreur, il y a plein de cas non traités.
    Regardes ici :
    http://mhubiche.developpez.com/help/esoso/algo.pdf

    Et essaie de revoir ton code en fonction

  4. #4
    Membre habitué

    Inscrit en
    Avril 2004
    Messages
    646
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 646
    Points : 145
    Points
    145
    Par défaut
    Ah ben effectivement... :-(. Un grand merci. Je regarde.

  5. #5
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    moi, je ferai un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Select Case DD
        Case Is >= TimeSerial(8;0;0)
            Select Case DF
                Case Is <= TimeSerial(12;0;0)
                    'moins 10 mn
                Case Is >= TimeSerial(16;20;0)
                    'moins 1:20
                Case Else
                    '???
            End Select
        Case Is >= TimeSerial(11;0;0)
            Select Case DF
                Case Is <= TimeSerial(14;0;0)
                    'moins 1:00
                Case Else
                    '???
            End Select
        Case Is >= TimeSerial(13;0;0)
            Select Case DF
                Case Is <= TimeSerial(16;0;0)
                    'moins 10 mn
                Case Else
                    '???
            End Select
        Case Else
            '???
    End Select

Discussions similaires

  1. Sequence et gestion des conflits sous ACCESS
    Par molarisapa dans le forum Access
    Réponses: 3
    Dernier message: 19/10/2006, 11h36
  2. Gestion des congés sous access
    Par squalito dans le forum Access
    Réponses: 1
    Dernier message: 09/08/2006, 23h34
  3. Problème avec une requete SQL sous access
    Par Luther13 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/12/2005, 10h39
  4. Réponses: 1
    Dernier message: 21/09/2005, 17h04

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