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 :

Migrer Tables Access vers MySQL


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 67
    Points : 62
    Points
    62
    Par défaut [RESOLU] Migrer Tables Access vers MySQL
    Bonjour,

    J'ai trouvé sur Internetu ne explication claire pour migrer des tables access vers mysql et ça marche très bien, mais il faut relancer la commande pour chaque table.

    Comme j'ai beaucoup de tables à migrer et que je dois répéter l'opération pour plusieurs bases, j'aimerais pouvoir automatiser la procédure avec des instructions VBA.

    Dans cette discussion
    http://www.developpez.net/forums/d48...ble+odbc+mysql
    j'ai trouvé des exemples en VBA qui permettent de mettre à jour une table mysql d'après une table access. Mais je ne connais pas les instructions à coder pour exporter la table et son contenu vers mysql et je ne sais pas trop ou chercher dans l'aide VBA

    Pouvez m'aider ???

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 075
    Points : 24 702
    Points
    24 702
    Par défaut
    Bonjour,

    Apparement pour un export il faut utiliser la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.TransferDatabase acExport,...
    Conjoitement avec une boucle du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each tbl in currentdb.tabledefs
    Voir dans le tuto de DAO pour la mise en oeuvre de cette dernière.

    ça devrait prendre quelques minutes tout au moins.

    Cordialement,

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 67
    Points : 62
    Points
    62
    Par défaut
    Merci loufab pour ton info, c'est exactement ce qu'il me fallait.
    Ci dessous la procédure que j'ai écrite. Elle pourra peut être servir à d'autres !!
    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
    30
    Dim db As DAO.Database, tdf As DAO.TableDef, Rel As Relation
    Dim iTb As Variant, nomtb As String
    Dim Msg, Style, Rep As String
     
        Set db = CurrentDb
    '                       Recherche du nombre de tables, sauf tables systeme
        iTb = 0
        For Each tdf In db.TableDefs
            nomtb = tdf.Name
            If Left(nomtb, 4) <> "MSys" Then iTb = iTb + 1   ' Non prise en compte des Tables Système
        Next tdf
        Msg = " Nombre de Tables Trouvées : " & iTb & "    Voulez-vous les migrer vers MySQL ? "
        Style = vbQuestion + vbYesNo + vbDefaultButton2
        Rep = MsgBox(Msg, Style)
        If Rep = vbNo Then Exit Sub
     
    '                       Migration des Tables, sauf tables système
        iTb = 0
        For Each tdf In db.TableDefs
            nomtb = tdf.Name
            If Left(nomtb, 4) <> "MSys" Then
                Me!Tbencours = nomtb
                Me.Requery
                DoCmd.TransferDatabase acExport, "ODBC Database", _
                    "ODBC;DATABASE=BLVLTest;DSN=BLVLTestMySQL;UID=root;PWD=", acTable, nomtb, nomtb
                iTb = iTb + 1
            End If
        Next tdf
        MsgBox "  " & iTb & "  Tables Migrées "
        Set db = Nothing
    Seul problème qui subsiste, si les tables existent déjà dans la base de destination, rien ne se passe, elles ne sont pas écrasées mais il n'y a pas de message d'erreur non plus ????
    Une idée pour tester la présence de tables dans la base de destination ou récupérer un message d'erreur ???

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 075
    Points : 24 702
    Points
    24 702
    Par défaut
    Bonjour,

    Il faut t'y connecter via ODBC.

    Tu as déjà la chaine de connexion.

    Regarde dans DAO ou ADO pour cela.

    Cordialement,

Discussions similaires

  1. [AC-2010] insert into pour envoyer les donnees d'une table Access vers une table Mysql
    Par jj4822 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 01/12/2014, 12h12
  2. Migrer base de données access vers mysql
    Par amandev dans le forum Administration
    Réponses: 2
    Dernier message: 07/03/2012, 15h33
  3. [ODBC] Migrer BDD sous Access vers MySQL
    Par Guns Of The Patriots dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/06/2010, 08h53
  4. Export de table access vers Oracle ou MySQL
    Par saigon dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/05/2008, 03h06
  5. Export base Access vers MySql
    Par jjn1er dans le forum Outils
    Réponses: 7
    Dernier message: 11/03/2003, 00h50

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