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 :

exporter toutes les tables d'une base Access 97 vers des fichiers textes.


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut exporter toutes les tables d'une base Access 97 vers des fichiers textes.
    Bonjour,
    Je voudrais exporter toutes les tables d'une base Access 97 vers des fichiers textes. Je sais exporter une table en utilisant le menu (Fichier->exporter...). Je souhaiterais savoir s'il y a un script (ou comment l’écrire) pour automatiser cette exportation car j'ai plus de 200 tables à exporter.
    Est il possible aussi de ne pas exporter les colonnes (s_GUID, s_Generation, s_Lineage)
    Le problème est que je ne connais rien à VB (je connais le C).
    Merci d'avance de votre aide

    ssid

  2. #2
    Membre averti Avatar de temar
    Profil pro
    Étudiant
    Inscrit en
    Août 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 316
    Points : 300
    Points
    300
    Par défaut
    Salut,

    C'est tout a fait possible de faire ça en automatisé.
    Le format txt est-il obligatoire ? Sinon ce serait sympa d'envoyer ça vers excel. Et tu peux choisir évidemment ce que tu veux exporter.

    Tu peux regarder la, par exemple, et dans la en général


    Si le txt est obligatoire, tu peux regarder de ce côté la

    A+

  3. #3
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Tu changes de SGBD ?

    J'avais un bout de code qui faisait à peu près ça.
    Je l'ai adapté pour qu'il boucle sur toutes les tables. J'espère qu'il fonctionne en 97.
    ! Attention : s'il y a des retours chariot dans les champs textes, ça coupe les lignes.

    A+
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    Sub ExportTables()
    Dim strPath As String
    Dim db As DAO.Database, rTbls As DAO.Recordset, r As DAO.Recordset
    Dim strDateFmt As String, strQuote As String, strDelimiter As String
    Dim i As Integer, strField As String, valField As Variant
    Dim strLine As String
    
    strPath = "E:\Temp\"      ' Chemin sortie
    strQuote = """"           ' caractère pour encadrer les données Texte
    strDateFmt = "YYYYMMDD"   ' Format Date
    strDelimiter = ";"        ' Délimiteur
    
    Set db = CurrentDb
    Set rTbls = db.OpenRecordset("SELECT * FROM MsysObjects WHERE Type=1 AND NOT (Name Like 'MSys*')")
    
    Do While Not rTbls.EOF
       Set r = db.OpenRecordset("SELECT * FROM [" & rTbls!Name & "]")
       Open strPath & rTbls!Name & ".txt" For Output As #1
       ' Colonnes
       strLine = ""
       For i = 0 To r.Fields.Count - 1
           strField = r.Fields(i).Name
           Select Case strField
              ' Champs exclus
               Case "s_GUID", "s_Generation", "s_Lineage"
               Case Else
                 If strLine <> "" Then strLine = strLine & strDelimiter
                 strLine = strLine & strQuote & strField & strQuote
           End Select
       Next
       Print #1, strLine
       ' données
       Do While Not r.EOF
          strLine = ""
          For i = 0 To r.Fields.Count - 1
              strField = r.Fields(i).Name
              Select Case strField
                  ' Champs exclus
                  Case "s_GUID", "s_Generation", "s_Lineage"
                  Case Else
                     valField = r.Fields(i)
                     If strLine <> "" Then strLine = strLine & strDelimiter
                     Select Case VarType(valField)
                        Case vbNull, vbEmpty
                        Case vbInteger, vbLong, vbSingle, vbDouble, _
                             vbCurrency, vbDecimal, vbByte
                             strLine = strLine & Str(valField)
                        Case vbDate
                             strLine = strLine & Format(valField, strDateFmt)
                        Case vbString
                             strLine = strLine & strQuote & valField & strQuote
                        Case vbBoolean
                             strLine = strLine & Str(CLng(valField))
                     End Select
              End Select
          Next
          Print #1, strLine
          ' enrgistrement suivant
          r.MoveNext
       Loop
       Close #1
       ' Table suivante
       rTbls.MoveNext
    Loop
    
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Liste de toutes les tables d'une base inconnue
    Par TTiger dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/11/2005, 07h59
  2. Pb effacer toutes les tables d'une bd access
    Par madiam2004 dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/05/2004, 15h24
  3. [ODBC] Intranet en PHP : Lister les tables d'une base Access
    Par fblouet dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 28/10/2003, 14h46
  4. Sélection de toute les tables d'une base
    Par lord_paco dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 21/07/2003, 14h56

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