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 :

Récupérer la date puis l'heure d'un champ date et heure [AC-2016]


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2017
    Messages : 38
    Points : 19
    Points
    19
    Par défaut Récupérer la date puis l'heure d'un champ date et heure
    Bonjour,

    Je viens vers vous car je suis bloqué sur un point bien que ça ne me semble pas si compliqué...

    Mon code doit importer des données Excel dans une table, ca ça passe, je le fais avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet acImport,
    Puis je dois ajouter deux colonnes, la ça va aussi, je fais via :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE table_name ADD column_name datatype;
    ou via

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set fieldH = tbl.CreateField("heure_amb", dbDate)


    J'arrive maintenant au point problématique... je dois remplir ces 2 champ (1 date et 1 heure) à partir d'un seul champ date et heure.

    J'ai essayé plein de choses trouvées ici ou ailleurs mais sans succès...

    Merci d'avance aux gens qui m'aideront sur ce problème!

    Johan

  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
    Bonjour,

    Essaie avec les fonctions DateValue et Timevalue.

    Cdlt,
    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 à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2017
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    Bonjour User,

    Déjà merci pour ta réponse

    Comment puis-je faire pour intégrer dans TimeValue ou DateValue la valeur de mon champ ?

    Voivi mon code, "dateheure" ne rend rien ce qui n'est pas surprenant...

    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
     
    Dim Db As DAO.Database
    Dim tbl As DAO.TableDef
    Dim dateheure As DAO.Field
     
    Set Db = CurrentDb
    Set tbl = Db.TableDefs("Ambiance_inter")
     
    Dim date_amb As Date
    Dim heure_amb As Date
     
        Set fieldH = tbl.CreateField("heure_amb", dbDate)
        Set fieldD = tbl.CreateField("date_amb", dbDate)
           tbl.Fields.Append fieldH
           tbl.Fields.Append fieldD
           tbl.Fields.Refresh
     
    dateheure = "SELECT [Date et heure] FROM Ambiance_inter"
     
    heure_amb = TimeValue(dateheure)
    date_amb = DateValue(dateheure)
     
    heure_rempl = "UPDATE Ambiance_inter SET heure_amb = #" & heure_amb & "#"
    date_rempl = "UPDATE Ambiance_inter SET date_amb= #" & date_amb & "#"
     
        DoCmd.RunSQL heure_rempl
        DoCmd.RunSQL date_rempl
     
    End Sub
    Dans l'attente de votre réponse, merci d'avance

  4. #4
    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
    Bonjour,

    Essayez de vous baser sur ce code :

    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
    Dim Db As DAO.Database
    Dim tbl As DAO.TableDef
    Dim fieldH As DAO.Field,fieldD As DAO.Field
     
    Set Db = CurrentDb
    Set tbl = Db.TableDefs("Ambiance_inter")
     
    Set fieldH = tbl.CreateField("heure_amb", dbDate)
    Set fieldD = tbl.CreateField("date_amb", dbDate)
    tbl.Fields.Append fieldH
    tbl.Fields.Append fieldD
    tbl.Fields.Refresh
     
    ' Libérer les variables
     
    Set fieldH = nothing
    Set fieldD = nothing
     
    set tbl = nothing
     
    db.close
    set db=nothing
     
    date_heure_rempl = "UPDATE Ambiance_inter SET heure_amb = TimeValue([Date et heure]), date_amb = DateValue([Date et heure]) ;"
     
    DoCmd.RunSQL date_heure_rempl
     
    End Sub
    Sous réserve que les champs "heure_amb" et "date_amb" ne soient pas déjà créés...

    Cdlt,
    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

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2017
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    Merci de ta réponse,

    Super ça fonctionne super bien !

    Pour ma part j'avais trouvé ceci :

    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
    Dim Db As DAO.Database
    'Dim rst As Recordset
     
    'Set Db = CurrentDb
     
    'Dim a As Long
     
    'DoCmd.SetWarnings False
     
    '   Do While Not rst.EOF
     
    '    a = 1
     
    '    heure_rempl = "UPDATE Ambiance_inter SET heure_amb = #" & Format(rst![Date et heure], "hh:nn") & "# WHERE num =  " & a & ""
    '    date_rempl = "UPDATE Ambiance_inter SET date_amb = #" & Format(rst![Date et heure], "mm/dd/yyyy") & "# WHERE num = " & a & ""
     
    '    DoCmd.RunSQL heure_rempl
    '    DoCmd.RunSQL date_rempl
    '    a = a + 1
     
    '    rst.MoveNext
     
    '    Loop
     
    'rst.Close
     
    'DoCmd.SetWarnings True
    Mais c'est extrêmement long...

    Encore merci pour ton aide

    Johan

  6. #6
    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
    Oui, dans le code que je t'ai donné tout se fait au niveau de la requête, donc tu n'as pas besoin de faire une correspondance avec le numéro dans une boucle, et tu évites d'exécuter autant de requêtes que d'enregistrements (et même le double en fait )

    Cdlt,
    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

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2017
    Messages : 38
    Points : 19
    Points
    19
    Par défaut
    Oui c'est ca et c'est beaucoup mieux ^^

    Merci !

  8. #8
    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
    De rien,

    Moi aussi je cherche toujours le plus simple
    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

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

Discussions similaires

  1. ajouter l'heure dans les champs DATE des dashlet
    Par jejeman dans le forum SugarCRM
    Réponses: 0
    Dernier message: 07/04/2015, 10h46
  2. [MySQL] Récupérer le mois et l'année d'un champ date pour instruction WHERE
    Par Auresky dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 12/02/2013, 15h48
  3. [VxiR2] Extraire l'heure d'un champ date
    Par amraguts dans le forum Designer
    Réponses: 2
    Dernier message: 15/07/2011, 11h31
  4. Extraire Heure d'un champ date
    Par chris81 dans le forum SQL
    Réponses: 7
    Dernier message: 10/06/2008, 09h08
  5. Insérer une heure dans un champs date
    Par erox44 dans le forum SQL
    Réponses: 7
    Dernier message: 22/04/2008, 12h25

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