Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1954 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Lire fichier access....sans acess

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lire fichier access....sans acess

n°925980
piedbleu
Posté le 17-12-2004 à 13:42:07  profilanswer
 

J'ai un fichier fic.mdb créer sous access, mais je ne possède pas access, comment puis-je l'ouvrir?
Est - il possible de l'importer ds Excel ou Mysql?
En outre je ne connais pas la structure ( nbre et type des colonnes )de ce fichier.

mood
Publicité
Posté le 17-12-2004 à 13:42:07  profilanswer
 

n°927596
gargant0
Posté le 19-12-2004 à 20:31:19  profilanswer
 

tiens je te recup ça des aide qu'il y a sur mon hebergeur:

Code :
  1. Comment convertir une base de données Access à MySQL
  2.     * Télécharger et installer le connecteur MySQL ODBC
  3.     * Télécharger et installer le logiciel Access 2 MySQL
  4.     * Vous devez changer la sécurité de votre base de données pour permettre à n'importe quel ordinateur qui est authentifié avec votre nom d'utilisateur et votre mot de passe d'y accéder.
  5.       Note : Si vous changez la sécurité, nous vous suggérons fortement de remettre votre base de données en mode privé.
  6.     * Démarrez le logiciel Access 2 MySQL et entrez les informations demandées


 
Sinon, vu voir sur le site de Microsoft, j'ai entendu dire il y a quelque jour, qu'il y a une visionneuse pour tout chaque fichier micrsoft, pour pouvoir les lires de partout. Et que les lires.

n°927643
pains-aux-​raisins
Fatal error
Posté le 19-12-2004 à 22:22:49  profilanswer
 

[:drapal] Il se trouve que des bases Access trainent malheureusement encore dans ma boîte... :(

n°929137
Arjuna
Aircraft Ident.: F-MBSD
Posté le 21-12-2004 à 13:35:21  profilanswer
 

Oui, c'est possible.
 
Bouge pas, je fais un test avec Excel ;)

n°929146
Arjuna
Aircraft Ident.: F-MBSD
Posté le 21-12-2004 à 13:48:23  profilanswer
 

Procédure faite avec Windows 2000 FR tournant avec MDAC 2.8 US et Office 2003. Les libellés et les écrans peuvent varier d'une version à l'autre, mais cette procédure reste valide, et pas besoin de posséder Access.
 
Installe MDAC 2.8 ni pas déjà installé.
 
Sous 2000, va dans le panneau de config, puis "outils d'aministration" et enfin "sources de données (ODBC)"
 
Clique sur l'onglet "System DSN" et fait "Add..."
 
Choisis "Microsoft Access Driver (*.mdb)" (fait gaffe, c'est pas "Driver do Microsoft Access (*.mdb)" ni "Microsoft Access-Trieber (*.mdb)" !
 
Nom : bidule
Description : machin qui contient des trucs bizarres
 
Ensuite, fait "selectionner" et choisi ton fichier Access.
OK.
 
Maintenant, t'as un DSN ODBC "bidule".
 
Ouvre Excel.
 
Va dans "Data" et fait "Import External Data > Import Data..."
 
Choisi "New Source..."
"ODBC DSN"
Choisi dans la liste "bidule"
Et hop, t'as plus qu'à choisir la table que tu veux importer (à refaire pour chaque table)
 
Après, tu ouvres cette nouvelle connection dans l'écran qui suit.
 
PS: Avec Excel 2003, j'ai l'impression que c'est un peu différent des anciennes version, donc là fin dépends peut-être un peu. En tout cas, sûr et certain, c'est faisable.
 
Dans le pire des cas, tu peux toujours créer un fichier VBS qui va aller piocher dans la base, et extraire les données dans des fichiers CSV.

n°929152
FlorentG
Unité de Masse
Posté le 21-12-2004 à 13:53:36  profilanswer
 

Dans Excel 2003, chez moi faut faire comme ça :
 
Tu lances Excel, puis tu fait Fichier\Ouvrir. Dans la liste de s fichiers, tu prend "Bases de données Access", puis tu ouvre ton .mdb.
 
Une boite de dialogue s'ouvre, et tu rentre compte et mot de passe s'il le faut. Si t'as pas de mot de passe, fait juste Ok. Ensuite il te propose de choisir la table à importer.
 
C'est tout :)


---------------
last.fmflickr
n°929167
Arjuna
Aircraft Ident.: F-MBSD
Posté le 21-12-2004 à 14:16:02  profilanswer
 

Truc un peu plus automatisé :
 

Code :
  1. Const DSN = "DSN=bidule;UID=root;pwd="
  2. Const adSchemaTables = 20
  3. Dim tablesCpt
  4. Dim linesCpt
  5. Dim cnx
  6. Dim rs
  7. Dim schema
  8. Dim fic
  9. Dim el
  10. Dim str
  11. Dim fso
  12. tablesCpt = 0
  13. linesCpt = 0
  14. Set cnx = CreateObject("ADODB.Connection" )
  15. cnx.Open DSN
  16. Set rs = CreateObject("ADODB.RecordSet" )
  17. Set rs.ActiveConnection = cnx
  18. Set schema = cnx.OpenSchema(adSchemaTables)
  19. Set fso = CreateObject("Scripting.FileSystemObject" )
  20. Do While Not schema.EOF
  21.    If schema("TABLE_TYPE" ) = "TABLE" Then
  22.       tablesCpt = tablesCpt + 1
  23.       Set fic = fso.CreateTextFile(schema("TABLE_NAME" ) & ".csv", true)
  24.       rs.Open "select * from " & schema("TABLE_NAME" )
  25.       str = ""
  26.       For Each el in rs.Fields
  27.          str = str & Replace(el.Name, ";", "," ) & ";"
  28.       Next
  29.       fic.WriteLine(left(str, len(str) - 1))
  30.       Do While Not rs.EOF
  31.          linesCpt = linesCpt + 1
  32.          str = ""
  33.          For Each el in rs.Fields
  34.             On Error Resume Next
  35.             str = str & Replace(Replace(Replace(Replace(CStr("" & el.Value), ";", "," ), vbCr, "\n" ), vbLf, "" ), vbTab, "\t" ) & ";"
  36.             If Err <> 0 Then
  37.               str = str & "#ERROR#;"
  38.               Err.Clear
  39.             End If
  40.             On Error Goto 0
  41.          Next
  42.          if len(str) > 1 then
  43.             fic.WriteLine(left(str, len(str) - 1))
  44.          else
  45.             fic.WriteLine("" )
  46.          end if
  47.          rs.MoveNext
  48.       Loop
  49.       rs.Close
  50.       fic.Close
  51.       Set fic = Nothing
  52.   End If
  53.    schema.MoveNext
  54. Loop
  55. schema.Close
  56. cnx.Close
  57. Set fso = Nothing
  58. Set rs = Nothing
  59. Set schema = Nothing
  60. Set cnx = Nothing
  61. MsgBox("Ce script grandiose vous a été offert par MagicBuzz." & vbCrLf & linesCpt & " lignes réparties dans " & tablesCpt & " ont été correctement exportées." )


 
Tu fais le truc précédent jusqu'à ce que le DSN "bidule" soit créé.
 
Puis copie-colle ce script dans un fichier "toto.vbs" que tu vas enregistrer dans un répertoire.
 
Double-click sur le script.
 
Et zou ! T'as toutes les tables qui sont extraites sous forme de CSV dans le répertoire.
 
PS: Ca devrait marcher avec n'importe quel pont ODBC (Une base Access tout comme une base SQL Server, MySQL, Oracle pour tarte-aux-pruneaux)
 
Chercher l'intrus :D


Message édité par Arjuna le 21-12-2004 à 16:35:10
n°929170
Arjuna
Aircraft Ident.: F-MBSD
Posté le 21-12-2004 à 14:17:17  profilanswer
 

FlorentG a écrit :

Dans Excel 2003, chez moi faut faire comme ça :
 
Tu lances Excel, puis tu fait Fichier\Ouvrir. Dans la liste de s fichiers, tu prend "Bases de données Access", puis tu ouvre ton .mdb.
 
Une boite de dialogue s'ouvre, et tu rentre compte et mot de passe s'il le faut. Si t'as pas de mot de passe, fait juste Ok. Ensuite il te propose de choisir la table à importer.
 
C'est tout :)


 
 
Ouais, mais je donnais la solution générique, parceque y'a que 2003 qui sait ouvrir directement une base Access.

n°929173
FlorentG
Unité de Masse
Posté le 21-12-2004 à 14:17:57  profilanswer
 

Arjuna a écrit :

Ouais, mais je donnais la solution générique, parceque y'a que 2003 qui sait ouvrir directement une base Access.


 
Ah ok...  :D


---------------
last.fmflickr
n°929185
Arjuna
Aircraft Ident.: F-MBSD
Posté le 21-12-2004 à 14:32:45  profilanswer
 

J'ai corrigé le script, parceque sinon il ne fitrait pas correctement les tables système sur les bases autres qu'Access.


Message édité par Arjuna le 21-12-2004 à 14:32:58
mood
Publicité
Posté le 21-12-2004 à 14:32:45  profilanswer
 

n°929300
pains-aux-​raisins
Fatal error
Posté le 21-12-2004 à 16:05:31  profilanswer
 

Bravo Arjuna ;)
Ca pourra sans doute me servir

n°929329
Arjuna
Aircraft Ident.: F-MBSD
Posté le 21-12-2004 à 16:35:35  profilanswer
 

Correction finale.
 
En effet, ça patatouillait avec MySQL :)

n°930196
piedbleu
Posté le 22-12-2004 à 18:04:20  profilanswer
 

OK merci à tous.
En effet ma version d'Excel ne permet pas la manip proposée pour ouvrir directement le .mdb.
J'étais sur la piste des sources ODBC, ss doute une erreur de procédure, je reprends avec ton descriptif Arjuna.
Pour le script je m'y penche plus tard, mais je sens le truc bien utile, donc bien joué et merci encore.

n°930503
Arjuna
Aircraft Ident.: F-MBSD
Posté le 22-12-2004 à 21:40:33  profilanswer
 

Si tu as des problèmes avec mon script (pas pu tester dans de super bonnes conditions ;)), voici un lien qui je pense te sera très utile.
 
En tout cas, moi il m'a bien servi pour écrire le script ;)
 
http://forum.hardware.fr/forum2.ph [...] 0&subcat=0

n°930537
piedbleu
Posté le 22-12-2004 à 22:34:14  profilanswer
 

Voilà de quoi approfondir la question. C'est noté :)!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Lire fichier access....sans acess

 

Sujets relatifs
[JS] écrire dans un fichier côté client ?[VB] Enregistrer une base access en cours dexecution
Ecrire dans un fichier avec TFileStream...effacer un ligne d'une table access en vba
Question sur traitement de données ACCESSPerl : est il possible de lire un fichier sans le bloquer en écriture?
[access][MS SQL Serveur] migrationobtenir un fichier .c a partir d'une librairie .a
[VBA-SQL] Requete entre une table SQL Server et une table Access 
Plus de sujets relatifs à : Lire fichier access....sans acess


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR