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 :

conversion de secondes en 00:00:00


Sujet :

Access

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 100
    Points : 49
    Points
    49
    Par défaut conversion de secondes en 00:00:00
    Bonjour tout le monde,
    Je n'arrive pas à m'en sortir avec un champ numerique qui contient des secondes à convertir en minutes ou à convertir au format 00:00:00 heure:minute:seconde
    exemple: j'ai un champ [DUREE] qui contien par exemple 6254 et je voudrais le convertir automatiquement en h:mn:s


    j'ai trouve un code sur internet:

    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
    29
    30
    31
    32
    33
    34
    35
    Option Compare Database
     
    Function CalcDuree(TpsSec As Long) As String
    Dim DurHeur As Long
    Dim DurMin As Long
    Dim DurSec As Long
     
    'Saisie du temps en secondes
    tps = InputBox("entrer un nombre de secondes")
    'Détermine les heures
    DurHeur = Round(TpsSec / 3600)
    If (TpsSec Mod 3600) >= 1800 Then
        DurHeur = DurHeur - 1
    End If
     
    'Détermine les minutes
    DurMin = Round(TpsSec / 60) - DurHeur * 60
    If (TpsSec Mod 60) >= 30 Then
        DurMin = DurMin - 1
    End If
     
    'Détermine les secondes
    DurSec = TpsSec - DurMin * 60 - DurHeur * 3600
    'Ajoute un 0 devant les secondes et les minutes inférieures à 10
    If (DurMin < 10 And DurSec < 10) Then
        CalcDuree = DurHeur & ":0" & DurMin & ":0" & DurSec
    ElseIf (DurMin >= 10 And DurSec < 10) Then
        CalcDuree = DurHeur & ":" & DurMin & ":0" & DurSec
    ElseIf (DurMin < 10 And DurSec >= 10) Then
        CalcDuree = DurHeur & ":0" & DurMin & ":" & DurSec
    Else
        CalcDuree = DurHeur & ":" & DurMin & ":" & DurSec
    End If
     
    End Function
    j'ai donc utilise ce code dans une requete.
    temps: CalcDuree([DUREE])
    mais ca ne marche pas et ca me retourne un message d'erreur: Fonction 'CalcDuree' non définie dans l'expression.
    je ne suis pas developpeur et je ne m'en sort pas.
    qui peu m'aider?
    merci de votre aide

  2. #2
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Salut,

    Essaie cette fonction qui renvoie un string "00:00:00"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function formatHeure(sec As Long) As String
    Dim h As Integer, m As Integer, s As Integer
     
    h = sec \ 3600
    s = sec Mod 3600
     
    m = s \ 60
     
    s = s Mod 60
     
    formatHeure = Format(h, "00") & ":" & Format(m, "00") & ":" & Format(s, "00")
     
    End Function
    resultat dans la fenêtre d'exécution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ? formatHeure(6254)
    01:44:14
    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 du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Un grand merci.
    Je viens d'essayer ta fonction et ca marche mieux que bien. Merci encore

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par User Voir le message
    Salut,

    Essaie cette fonction qui renvoie un string "00:00:00"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function formatHeure(sec As Long) As String
    Dim h As Integer, m As Integer, s As Integer
     
    h = sec \ 3600
    s = sec Mod 3600
     
    m = s \ 60
     
    s = s Mod 60
     
    formatHeure = Format(h, "00") & ":" & Format(m, "00") & ":" & Format(s, "00")
     
    End Function
    resultat dans la fenêtre d'exécution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ? formatHeure(6254)
    01:44:14
    Je me suis emallé un peu trop vite je pense.
    Tout à l'heure ca a marche puis j'ai fermé l'application et à l'instant j'ai voulu ouvrir la requete qui appele la fonction et ca ne marche plus.
    en fait lorsque j'insere dans une requete une colonne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Expr1: formatHeure([DUREE])
    et lorsque j'execute cette requete j'ai le message suivant :Fonction 'formatHeure' non définie dans l'expression.

    decidement je ne comprends pas
    Images attachées Images attachées   

  5. #5
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Vraiment très étrange cette histoire:

    Essaie de renommer ta fonction ...
    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

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 100
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par User Voir le message
    Vraiment très étrange cette histoire:

    Essaie de renommer ta fonction ...
    Bonjour,
    J'ai essayé de renommer la fonction et le probleme etait le même.
    j'ai alors copié ton code à la suite de code existant dans la base et là ca marche.
    Peut-etre que le fait d'avoir crée un modul pour ton code n'etait pas la bonne methode.
    Quoi qu'il en soit aujourd'hui ca marche et une fois encore je t'en remercie.

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

Discussions similaires

  1. [PIC 16F877A] Conversion Minutes - Secondes
    Par Faern dans le forum MPLAB
    Réponses: 3
    Dernier message: 28/11/2010, 18h07
  2. Conversion de secondes en heures
    Par hammouch dans le forum Pascal
    Réponses: 5
    Dernier message: 03/01/2010, 03h32
  3. Conversion de seconde
    Par french_aspi dans le forum MATLAB
    Réponses: 9
    Dernier message: 16/11/2009, 12h16
  4. Réponses: 1
    Dernier message: 09/06/2008, 14h34
  5. Conversion secondes
    Par Vodkha dans le forum Langage
    Réponses: 1
    Dernier message: 18/08/2005, 11h55

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