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

VBA Access Discussion :

[Format] date avec millisecondes


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Points : 99
    Points
    99
    Par défaut [Format] date avec millisecondes
    Bonjour,

    j'aimerai savoir si qqun aurait la syntaxe pour inclure les millisecondes dans un champ au format date ?

    en somme, quelque chose qui pourrait me permettre de passer de ce format 61452 à celui-ci 00:01:01:452

    L'objectif étant de réaliser un graphique (courbe) dans un état à partir de ces données.

    Merci par avance

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Points : 99
    Points
    99
    Par défaut
    Re,

    Je complète ma question. Est-il possible qu’après avoir rentré mes données dans le premier format (61452), celles-ci soient sauvegardées dans le 2ème format (00:01:01:452) ou dans un autre champ, de façon à ce que ces dernières soient contenues dans la requete source du graphique ?
    Pour l’instant, j’arrive bien à faire le graph mais avec les données issues du 1er format, donc pas très pratique.

    Merci par avance

  3. #3
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    c'est certainement quelque chose du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Function TempsNbEnTexte(TempsNb As Double)
        Dim Heure As Long, Minute As Long, Milliemme As Long
        Milliemme = Clng(TempsNb -(Int(TempsNb/1000)*1000))
        Heure = CLng(Int(TempsNb / 60000))
        Minute = CLng(Int(TempsNb / 1000)- (Heure * 60))
        TempsNbEnTexte = Format(Heure, "00") & ":" & Format(Minute, "00") & ":" & Format(Milliemme, "00") End Function
    pour autant que ton chiffre soit de type 61 (minute et heure) et 452 les millisecondes

    bonne chance

  4. #4
    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
    on peut procéder ainsi
    passage au format standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Function convertheur(x As Long) As Date
    convertheur = x / 86400000
    End Function
    format milliseconde
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Function afficheur(x As Date) As String
    Dim z As String
    z = Format(x, "hh:mm:ss")
    z = z & ":" & Round((((x * 86400) - Int(x * 86400))) * 1000, 0)
    afficheur = z
    End Function
    ici un beau afficheur(convertheur(61452)) serait jubilatoire
    une fonction de retour à la normale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Function monstandard(x As Date) As Long
    Dim v As Variant
    v = CDbl(x) * 86400000
    monstandard = CLng(v)
    End Function

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Points : 99
    Points
    99
    Par défaut
    Merci pour ta réponse Alex.

    452 sont bien les millièmes, mais 61000 millièmes, ça fait 1 minute et 1 seconde.
    Je vais testé mais a priori, il manquerai pas les secondes dans la fonction ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    oui tu as raison
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Public Function TempsNbEnTexte(TempsNb As Double)
        Dim Heure As Long, Minute As Long, Seconde As Long, Miliemme As Long
     
        Heure = CLng(Int(TempsNb / 3600000))
        Minute = CLng(Int((TempsNb - Heure * 3600000) / 60000))
        Seconde = CLng(Int((TempsNb - Heure * 3600000 - Minute * 60000) / 1000))
        Milliemme = CLng(TempsNb - Heure * 3600000 - Minute * 60000 - Seconde * 1000)
        TempsNbEnTexte = Format(Heure, "00") & ":" & Format(Minute, "00") & ":" & Format(Seconde, "00") & ":" & Format(Milliemme , "000")
    End Function
    Essaie celà je n'ai pas testé car j'ai une fonction identique pour les centièmes j'ai rajouté un 0 partout et çà devrait aller

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Points : 99
    Points
    99
    Par défaut
    Bonjour,

    Je reviens vers vous parce que je coince pour alimenter le graphique de mon état. Je pense que cela viens du format des données de la requête en rowsource du graphe.
    A la base, je récupère des nombres (mettons dans Champ1). Dans la table (mettons Table1), ces données sont de type Numérique. Avec la fonction d’Alexandre Sahli, je parviens bien à obtenir le format d’affichage souhaité dans Champ2. Par contre, et c’est ici que je coince depuis un moment, je ne parviens pas à obtenir de format Date sur l’axe des ordonnées du graphe qui prennent en compte les millisecondes.

    Auriez vous une idée pour résoudre mon pb ?

    Par avance Merci

Discussions similaires

  1. [Oracle 10g] Format Date avec to_char()
    Par shaun_the_sheep dans le forum SQL
    Réponses: 2
    Dernier message: 28/04/2008, 17h53
  2. Problème format Date avec VS2003
    Par vaohdan dans le forum Windows Forms
    Réponses: 1
    Dernier message: 07/05/2007, 12h06
  3. [Dates] Format date avec timestamp
    Par otagun dans le forum Langage
    Réponses: 11
    Dernier message: 27/05/2006, 15h16
  4. Format date avec Mysql
    Par debutantjak dans le forum JDBC
    Réponses: 1
    Dernier message: 10/05/2006, 16h36
  5. [VB6]Aide pour mettre format date avec inputbox
    Par Geliwy77 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 28/01/2006, 20h13

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