Importer fichier ms acces

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse.

Email: - laurent.gluck@free.fr
Sujet: - Importer fichier ms acces
Question: - Bonjour, je viens de passer récemment sous Linux Mint et je cherche désespérément comment importer un fichier ms acces avec Libreoffice base. Je n'ai rien trouvé dans les forums.

Merci d'avance pour votre aide.

Salutations
Laurent

Bonjour,

- Fichier > Nouveau > Base de données
- Connecter une base de données existante et choisir Microsoft Access

Bernard

Bonjour,

De quelles versions d'Access et de LO s'agit-il ?

S'il s'agit de récupérer tout le contenu de la base Access : formulaire, état, requêtes.. je ne pense pas qu'il y ait de solution évidente

La solution de passer par un "import" au format Access dans Base ne fonctionne pas car il ne s'agit que d'un lien, pas d'une recréation des structures, il faut que la base Access d'origine soit toujours accessible..

Globalement, pour récupérer la structure et les données je pense qu'il va falloir soit passer par un autre format, soit créer un filtre odbc ou utiliser un utilitaire de lecture Access (mais je n'en connais aucun de réellement satisfaisant)
Il faut, apriori, aussi avoir un accès àWindows et Access pour préparer l'exportation.
J'ai notamment trouvé ça
http://www.openoffice.org/fr/Documentation/How-to/Bdd/04migrfr.pdf
ça date un peu mais le principe reste valable. Postgres étant reconnu par Base à présent, une parti des manipulation ne sont plus nécessaires

Côté ODBC, il faut installer UnixODBC ou quelque chose d'approchant, ensuite un driver Access, EasySoft en propose un à l’essai pour 14 jours.., c'est assez pour faire la bascule, je suppose.(http://www.easysoft.com/products/data_access/odbc-access-driver/#section=tab-1). Un outil comme ODBCConfig facilitera aussi le travail.

On peut également exporter les tables une à une dans un format commun comme dBase puis recréer les relations..

Je n'ai jamais testé ces solutions mais je tenterai l'expérience dès que possible.

/Cordialement/

//

           Christian Fourcroy

Bonsoir.

Bienvenue au club des laissés pour compte !
Aucune piste apparemment pour convertir les fichiers mdb en odb.

J'ai fait des fichiers pour gérer mes vins, mes recettes, ...
Je dois poursuivre avec MS ACCESS 97.

Personne ne semble s'intéresser à cette conversion !

Bon courage

BIQUET

-------Message original-------

Bonjour,
Ce lien vous conviendrait-il ?
https://eggerapps.at/mdbviewer/docs/en/convert-access-to-open-office.html
Cordialement.
Jacques

Suite
ce lien aussi
https://forum.openoffice.org/en/forum/viewtopic.php?f=13&t=44402

La base gestion de vin m'intéresserait éventuellement.
Cordialement.

Bonjour,
Il est possible d'ouvrir une base de données Access format .mdb ou accdb (versions 2003 et +) . Avec l'assistant base de données choisir : Connecter une base de données existante > sélectionner Microsoft access ou Microsoft access 2007 suivant le format de fichier (mdb ou accdb) .>Suivant et dans Parcourir sélectionner le fichier à convertir.
Seulement attention : tous les objets : Tables , requêtes, formulaires, états seront mis dans l'objet _Tables_ du fichier odb résultant ....
Ce peut être intéressant pour récupérer les données, mais après il faudra se recréer les formulaires , les requêtes, etc .. dans l'environnement ODF.
Personnellement j'ai gardé MS Access pou ma gestion cave, annuaire etc ... Pour les clé primaire il faudra aussi revoir la gestion ...!!

Claude

Bonjour.

Merci de vous intéresser à mes petits problèmes.
Cependant votre réponse m'envoie sur un site qui ne s'exprime que dans une
langue que je ne maîtrise pas suffisamment : celle de Shakespeare.
Il me semble que "MDB / ACCDB Viewer" me conseille d'exporter ma base sous
forme "csv".
Access97 ne propose l'exportation sous quatre formes : Access, Microsoft
Active Server Pages, Microsoft IIS 1-2 ou Rich Text Format.

Dois-je tout refaire ?
Access97 était bien mais je suis converti à LibreOffice, est-ce un défaut ?

Merci de m'éclairer ... en français, s'il vous plait.

-------Message original-------

Bonjour,

Access a toujours pu exporter des tables au format csv. Depuis la version 2 je m'en suis souvent servi pour communiquer avec d'autres systèmes.
Je ne sais pas quel est votre niveau en ce qui concerne Access, ne m'en veuillez pas de vous rappeler que de sont les tables qu'il est utile d'exporter, pas les autres objets. Une export au format RTF ressemble plus à un formulaire ou un état . Mais je n'ai plus Access 97 pour vérifier. Il me semble qu'en faisant un clic droit sur une table on obtenait la commande "exporter texte" et ensuite on peut préciser le séparateur pour faire du csv (la virgule si l'on veut vraiment rester standard).

En ce qui concerne la récupération vers un SGBD Linux, je n'ai jamais trouvé de solution vraiment satisfaisante. J'en suis toujours à

  * exporter les données en csv, format tableur (Access -> Excel ->
    Calc) ou autre (notamment le format dBase qui est reconnu par
    beaucoup d'autres moteurs de base de données) ,
  * puis reconstruire les tables dans le système cible et y insérer les
    données récupérées avec des bouts de SQL et de macros le cas
    échéant. De toutes façons, dans Base on doit assez vite se lancer
    dans le SQL et les macros pour avoir les mêmes fonctionnalités que
    dans Access

Ou il y a la solution de passer par un serveur odbc mais c'est assez technique et ne fait pas vraiment gagner de temps, la structure de la base doit toujours être recréée dans le système cible et les données importées puisque l'on n'obtient que l'équivalent des tables liées d'access.

Pour ma part je trouve que LO ( ou Open Office ... :slight_smile: ) est équivalent et aussi convivial dans l'ensemble que MS Office. Sauf entre Base et Access : Access reste irremplaçable en terme de convivialité, de facilité d'emploi, même si je reconnais qu'il est moins fiable et inadapté à un usage vraiment professionnel. Quelque part entre RAD et SGBD, c'est le seul outil sur lequel j'ai vu des gens créer des applications complètes en à peine quelque semaines. Avec Base on peut sans doute faire des choses plus correctes et plus fiables mais cela demande plus de travail et plus de connaissances

En tous cas, bon courage

/Cordialement/

//

Pourquoi ne pas simplement utiliser une connexion à la base mdb comme suggéré dans mon 1 er post ?

On n'est pas obligé de migrer la base pour l'embarquer dans LO Base. Personnellement, à partir de LO Base je me connecte à des bases MySQL ou Firebird.

Bernard

Bonjour,

Parce qu'à la base il s'agit de travailler sous Linux où il n'y a pas de connexion sur Access à moins d'installer des outils supplémentaires.

/Cordialement/

/
Christian FOURCROY/

Bonjour.

Super, une réponse positive.
Pouvez-vous me dire comment installer Linux en double et quels outils
ajouter ?
Je suis sous Vista.

BIQUET

-------Message original-------

Pardon ! J'avais oublié ce détail... qui a son importance :slight_smile:

Bernard

Comprends pas... Dans un post on me dit qu'on est sous Linux et là on me dit qu'on est sous Vista.

Il va peut-être falloir que je relise tout depuis le début :slight_smile:

Bernard

si j'ai bien compris, il y en a deux qui ont le même souci. Chacun sous un environnement différent. Mais l'idée générale consiste à ne plus avoir à utiliser Access !

On peut accéder aux bases Access mdb à partir de LibreOffice sans qu'Access soit installé.

Bernard

Mais qu'est-ce qui fait tourner la base mdb ? Je crois bien que toute la question est là. Et, évidemment, le paramétrage de LibreOffice pour y accéder.

Bonjour,

Pour faire court : installer Linux en même temps que Windows est pris en charge par l'installation de Linux. La plupart des distributions de Linux proposent assez clairement ce choix, surtout celle basées sur Debian comme Mint. Il faut pour cela évidemment être sur la même machine et qu'un des disques de cette machine ait encore suffisamment de place pour Linux .
Disons dans les 10 Go stricte minimum, pour être à l'aise minimum dans les 100 Go , pour y travailler quotidiennement dans les 200 Go...
Bref, le mieux est encore d'avoir un disque entier dédié à Linux, ça évite les notions de partitionnement, de déplacement de données, les risques de perte de données Windows... etc. Tout est relatif, évidemment mais un disque interne de 500 Go ne fait "que" aux alentours de 50 €

Maintenant pour donner le détail des opérations, ça serait beaucoup plus long. Si besoin j'essaierai d'être plus détaillé .
Ceci étant, je ne pense pas que ce forum soit le plus indiqué pour cela, on parle de LO ici, pas de spécialement de Linux.

Pour le côté Base : ce que je fais :

  * Export des données Access en csv ou mieux en dBase (on garde une
    notion de champs et de type de données, de clé, d'index.. etc mais
    il peut y avoir un problème avec les noms de champs qui ne doivent
    pas comporter d'espace et sont limités à un certain ombre de
    caractères (je ne sais plus lequel ... :frowning: )
  * Création de la structure des tables et des relations dans Base
  * Import des données par des instructions SQL . Les commandes SQL
    dépendent du moteur de base de données utilisé dans Base (par défaut
    c'est du HSQL mais on peut changer) . Grosso modo c'est
    l'instruction INSERT INTO avec une sous requête de type SELECT. ça
    ressemble à ce que fait Access quand on fait une requête action
    Ajout à partir d'une requête de sélection. cf
    http://sqlpro.developpez.com/cours/sqlaz/dml/. Il y a aussi
    http://hsqldb.org/doc/guide/dataaccess-chapt.html#dac_insert_statement
    et http://www.hsqldb.org/doc/guide/ch09.html#insert-section, mais là
    c'est en anglais....
  * Quant aux formulaire, états and c° .. je préfère tout refaire selon
    les spécificités de Base et des outils LO.
  * Côté macros/modules, il faut se plonger dans Access2Base qui est
    préinstallé sur LO 4.4, sinon c'est là :
    http://extensions.libreoffice.org/extension-center/access2base

Bon courage

/Cordialement/

/
Christian FOURCROY/

La base ne "tourne" pas :slight_smile: . Via la connexion tu crées une base odb contenant une "image" des tables de ta base mdb :

    - Fichier > Nouveau > Base de données
    - Connecter une base de données existante et choisir Microsoft Access

Une fois ta base (disons base1.odb) qui contient les tables issues de la base mdb, tu "tires" (en fait un copier-coller) tes tables dans une base2.odb (à créer ou existante).

Tu spprimes ensuite ta base1.odb qui ne t'a servie que pour la récupération des tables mdb. Il faut procéder comme cela parce que les tables de base1.odb ne sont que consultables.

Bernard

et ça garde les relations entre les bases et les formulaires ?