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 :

Comment récupérer des données libreoffice


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2018
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Comment récupérer des données libreoffice
    bonjour,
    j'ai des données dans un fichier calc .ods de libreoffice 5 que je voudrais récupérer dans ma base de données access 2015

    ce fichier comporte les cellules suiva tes :
    - jour
    - mis
    - annee
    - memo
    comment dois je procéder ?
    access prévoit t-il une facon d'importer des données directement de ce fichier ou dois je d'abord les convertir dans un format csv ou autre ?

    merci de votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Bonjour.

    Autant que je sache, Access ne peut pas accéder directement à libre office.
    Et si on se fie au site web, il n'est pas question d'un échange entre ces systemes (la page de la FAQ est vide).
    Donc je te suggère d'exporter tes données en CSV si tu peux puis de les importer.

    A+

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2018
    Messages : 7
    Points : 6
    Points
    6
    Par défaut champ date
    question subsidiaire :

    comment gerer un champ annee...sachant que parfois comme il’s’agit d’une base de donnees d’histoire les annees peuvent etre avant JC.
    si je lets mon champ en format numerique comment gerer le moins....ou alors passer ce format en text’ mais je ne pourai plus faire de manipulation numerique, ecarts de dates par ex.
    ajouter un champ case a cocher avt ou apres JC ???
    merci




    Citation Envoyé par marot_r Voir le message
    Bonjour.

    Autant que je sache, Access ne peut pas accéder directement à libre office.
    Et si on se fie au site web, il n'est pas question d'un échange entre ces systemes (la page de la FAQ est vide).
    Donc je te suggère d'exporter tes données en CSV si tu peux puis de les importer.

    A+

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 346
    Points : 23 809
    Points
    23 809
    Par défaut
    Bonjour.

    Intéressante question.

    Les dates dans Access vont du 1er janvier 100 et le 31 décembre 9999.
    En interne les valeurs sont de -657434 à 2958465, c'est un nombre de jours depuis une date de référence : le 30 décembre 1899.
    Si tu fais debug.print cdbl(dateserial(1899,12,30)) tu obtiens 0.

    Donc si tu as des dates en dehors de ces valeurs, il va falloir ruser.

    A mon avis, la solution la plus simple est d'utiliser des chaines de caractère.
    Pour le codage, tu peux utiliser le format inversé et mettre quelque chose comme -0100/02/01 (1er février de l'année 100 avant Jésus Christ) et +0100/02/01.
    Inclure le signe va permettre de trier tes dates en ordre croissant ou décroissant assez facilement.

    Sinon, tu peux décider d'utiliser un champ de type réel double et d'étendre la plage au delà des valeurs fixées par M$.
    Il te faudra sans doute avoir un fonction pour présenter une date compréhensible à un humain et pour l'encoder à partir d'une date compréhensible pour un humain.

    Pour faire les calculs d'écart, si tu n'es pas dans la période 0100/01/01 à 9999/12/31 où tu peux utiliser DateDiff() et DateAdd(), il va falloir écrire tes propres fonctions.

    N'oublie pas que il n'y a pas d'année 0, on passe de -0001/12/31 au +0001/01/01 et que les calendriers ont pas mal changé au cours de l'histoire.
    Je sais qu'il y a une année ou on a "perdu" quelque chose comme 10j pour recaler le calendrier sur le cycle de la terre autours du soleil.

    Selon la precision que tu veux avoir les formules de calcul peuvent être assez complexes et franchement en dehors des mes compétences.
    Une astuce est de considérer que l'année comporte 365.25 jour afin de ne pas avoir à tenir compte des années bisextiles.
    Si tes date de début et de fin sont suffisement éloignées, l'erreu de calcul est faible.

    A+

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/09/2007, 12h09
  2. comment récupérer des données MATLAB sous delphi
    Par redhammd dans le forum Bases de données
    Réponses: 1
    Dernier message: 04/06/2007, 16h01
  3. Réponses: 3
    Dernier message: 28/01/2007, 19h25
  4. comment récupérer des données sous DOS
    Par ad44dz dans le forum Ordinateurs
    Réponses: 1
    Dernier message: 06/11/2006, 15h29
  5. Comment récupérer des données de Outlook Express ?
    Par frenchsting dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 29/04/2005, 11h07

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