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 :

[VBA] Exporter automatiquement au format MS Access 97


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Par défaut [VBA] Exporter automatiquement au format MS Access 97
    Bonjour et meilleurs voeux a tous !

    Je developpe une appli VBA 6.3 sous MS Access 2002 SP3 et je suis confronte a un probleme :

    Comment exporter ma base vers le format MS Access 97 grace a du code VBA ?

    ( Habituellement on utilise le menu "Outils" puis "Utilitaires de base de donnees" puis "Convertir une base de donnees" et enfin "Vers le format de fichiers Access 97 ... " )

    Merci !

    Clem.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Peux-tu détailler le but de la manoeuvre.

    Que contient ta base ? Uniquement des tables ou beaucoup de code avec des formulaires etc..., car dans ce cas tu risques d'avoir des problèmes de compatibilité entre les deux versions.

    Il nous faut donc plus de détails.

    Starec

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Par défaut
    Le but de la manoeuvre est de pouvoir lire les donnees des tables avec MS Access 97 (qui sont tres simples d'un point de vue relationnel : pas de lien entre les tables, pas de cles etrangeres, pas de requetes stoquees etc...), il n'y aura pas besoin d'avoir acces aux formulaires ni au code, donc pas de soucis du cote compatibilite... j'ai fait des tests manuels (avec le menu "Outils" ...) qui donnent un resultat a la hauteur de ce que j'attend !!!

    Je ne sais pas quels details je pourrais fournir en plus ... en fait je cherche juste un moyen d'effectuer l'action VBA correspondante a celle effectuee par le menu "Outils" puis "Utilitaires de base de donnees" etc ... le reste (compatibilite ...) je m'en charge !

    Merci pour ton attention Starec !

    Clem.

  4. #4
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    J'ai ça qui traine :

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    '*******************************************************************************************************
    ' Script permettant d'extraire au format CSV les tables d'une base Access
    '
    '*******************************************************************************************************
     
    connstring = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=BS.mdb"
    set m_RS = CreateObject("ADODB.Recordset")
    Set DBConn = CreateObject("ADODB.Connection")
    DBConn.Open connstring
    Set rstSchema = DBConn.OpenSchema(20)
    Set fso = CreateObject("Scripting.FileSystemObject")
     
    DEF_EXPORT_SEP = ";"
     
    Do Until rstSchema.EOF
    	If rstSchema("TABLE_TYPE") = "TABLE" Then
                    chemin = rstSchema("TABLE_NAME") & ".CSV"
                    Set Fic = fso.CreateTextFile(chemin, True)
     
            	txtSQL = "select * from " & rstSchema("TABLE_NAME")
                    m_RS.open txtSQL, connstring
     
                    ' Entête
                    sLine = ""
                    for i = 0 to m_RS.Fields.count - 1
                        sLine = sLine & m_RS.Fields(i).Name & DEF_EXPORT_SEP
                    next
                    if sLine <> "" then
                        sLine = Left(sLine, Len(sLine) - 1)
                        Fic.writeLine sLine
                    end if
                    ' Données
                    Do Until m_RS.EOF
                        sLine = ""
                        for i = 0 to m_RS.Fields.count - 1
                             sLine = sLine & m_RS.Fields(i).Value & DEF_EXPORT_SEP
                        next
                        if sLine <> "" then
                             sLine = Left(sLine, Len(sLine) - 1)
                             Fic.writeLine sLine
                        end if
                        m_RS.MoveNext
                    Loop
                    Fic.Close
                    Set Fic = Nothing
                    m_RS.Close
    	End If
    	rstSchema.MoveNext
    Loop
    Set fso = Nothing
    Set rstSchema = Nothing
    DBConn.Close
    Set DBConn = Nothing
    set m_RS = Nothing
     
    msgbox "Extraction terminée."

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    '*******************************************************************************************************
    ' Script permettant d'extraire au format CSV les tables d'une base Access
    '
    '*******************************************************************************************************
    ... Bonjour pc75, ce n'est pas exactement ce que je cherche.

    Je cherche precisement un moyen d'effectuer l'action VBA correspondante a celle effectuee par le menu "Outils" puis "Utilitaires de base de donnees" puis "Convertir une base de donnees" et enfin "Vers le format de fichiers Access 97 ... "

    Merci quand meme pour ton attention.

    Clem.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si j'ai bien compris tu veux réaliser l'opération plusieurs fois et non une seule, et c'est donc pour cela que tu veux l'automatiser. N'est-ce-pas ?

    As-tu pensé à essayer de transférer les données dans une base Access 97 à partir d'instructions SQL du type INSERT INTO ?

    Starec

Discussions similaires

  1. [VBA] Export table access vers fichier.txt
    Par fabiolous dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/04/2007, 17h55
  2. Export automatique VBA dans Excel
    Par eddyG dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/12/2006, 23h34
  3. Import Export automatique ACCESS => MYSQL
    Par friiitz dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/10/2006, 18h38
  4. Réponses: 2
    Dernier message: 03/03/2006, 09h21
  5. [VBA] exportation vers excel - filtres automatiques?
    Par Christophe93250 dans le forum Access
    Réponses: 10
    Dernier message: 06/01/2006, 16h36

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