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 :

pb soustraction heure


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 106
    Points : 50
    Points
    50
    Par défaut pb soustraction heure
    bonjour à tous,

    Je veux crontrôler que l'utilisateur ne rentre pas une durée supérieure à celle théorique. J'ai 2 heures différentes, une de début et une de fin.

    Mon code est le 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
     
        Dim duree As Date, heuredebut As Date, heurefin As Date
        heuredebut = ÉtiquetteHeureDebut.Caption
        heurefin = ÉtiquetteHeureFin.Caption
        If Hour(heuredebut) > Hour(heurefin) Then
            heurefin = heurefin + TimeSerial(24, 0, 0) 'ajout de 24h pour calculer la durée
        Else
        End If
        duree = (heurefin - heuredebut)
     
        If (TexteTempsTech1.Value - duree) > 0 Then
            MsgBox "La durée indiquée est supérieure à la durée de l'intervention", vbExclamation, "Durée incorrecte"
            TexteTempsTech1.Value = Null
        Else
        End If
    J'ai vérifié avec le debogueur et lorsque duree = TexteTempsTech1.Value la soustraction est égale à 3,46944695195361E-17

    Avez-vous une idée pour avoir 0 :

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    ton nombre est erreur d'approximation de la représentation
    tu pourrais faire
    iif(abs(monnombre)<10^-12;0;monnombre)

  3. #3
    Membre habitué
    Inscrit en
    Août 2004
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2004
    Messages : 159
    Points : 131
    Points
    131
    Par défaut
    Les dates sont traitées comme des réél.
    La partie entière gère les jours et la partie décimales les heures minutes seconde.(cf la FAQ!!! très bien faite sur le sujet d'ailleurs)...
    Le problème c'est que du coup une heure = 1/24, une minute = 1/(24*60)
    et ainsi de suite.
    Cela peut crééer des anomalies dans la gestion des arrondis.

    Gère une marge d'erreur d'arrondi acceptable. par exemple (0.5 seconde)
    ton code deviens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (TexteTempsTech1.Value - duree) > 0.000006 Then

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 106
    Points : 50
    Points
    50
    Par défaut
    merci à vous deux

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

Discussions similaires

  1. Soustraction heure datetime
    Par SAS2013 dans le forum SAS Base
    Réponses: 1
    Dernier message: 28/02/2013, 16h28
  2. Soustraction heure pour un planning
    Par coyote06 dans le forum Access
    Réponses: 4
    Dernier message: 22/01/2009, 09h12
  3. soustraction heure fin et heure debut
    Par Maria1505 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 17/08/2007, 16h57
  4. soustraction d'heures dans cellules non consécutives
    Par kikinou91 dans le forum Excel
    Réponses: 4
    Dernier message: 03/08/2007, 14h40
  5. [PERL] Soustraction d'heure
    Par LE NEINDRE dans le forum Langage
    Réponses: 6
    Dernier message: 22/09/2005, 17h09

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