Traitée Problème migration table Access sur Oracle

  • 13 มีนาคม 2555 13:46
     
      มีโค้ด

    Bonjour,

    Je veux migrer certaines tables Access vers mon serveur Oracle. Jusque là, j'y arrive.

    Cependant pour chaque table, Access me demande de selectionner la source de données (ce qui n'est pas très pratique car j'ai beaucoup de table). Est-ce qu'il y a un moyen de contourner ça, ou est ce que j'ai mal coder mon petit code (ci-dessous). Merci pour votre aide !

     

    Function TestTransferBase()
     
          DoCmd.TransferDatabase acExport, "Base de données ODBC", "ODBC;DNS=TEST;IUD=MonID;PWD=monMotPass;DATABASE=TEST", acTable, "CANTON", "CANTON2", False, True
        DoCmd.TransferDatabase acExport, "Base de données ODBC", "ODBC;DNS=TEST;IUD=MonID;PWD=monMotPass;DATABASE=TEST", acTable, "PRESIDENTS", "PRESIDENTS2", False, True
            
     End Function

ตอบทั้งหมด

  • 21 มีนาคม 2555 8:52
    ผู้ดูแล
     
     คำตอบ มีโค้ด

    Bonjour,

    Vous pouvez effectuer cela dans une boucle...

    Voici un exemple avec des tables liées :

    Public Sub TransfererTables()
    Const DB_TYPE                                               As String = "Base de données ODBC"
    Const DSN                                                   As String = "ODBC;DNS=TEST;IUD=MonID;PWD=#Password;DATABASE=#Database"
    Dim T                                                       As Integer
    Dim strSrcTableName                                         As String
    Dim strTrgTableName                                         As String
    Dim strPassword                                             As String
    Dim strDatabase                                             As String
    Dim strConnectionString                                     As String
    Dim TDF                                                     As TableDef
        On Error GoTo L_ErrTransfererTables
        strConnectionString = Replace(Replace(DSN, "#Password", strPassword, , , vbBinaryCompare), "#Database", strDatabase, , , vbBinaryCompare)
        For Each TDF In CurrentDb.TableDefs
            With TDF
                If .Attributes = dbAttachedTable And Not .Attributes = dbSystemObject Then
                    strSrcTableName = .Name
                    strTrgTableName = strSrcTableName & "2"
                    Debug.Print strSrcTableName
                    DoCmd.TransferDatabase acExport, DB_TYPE, strConnectionString, acTable, strSrcTableName, strTrgTableName, False, True
                    T = T + 1
                End If
            End With
        Next
        MsgBox "Terminé..." & vbCrLf & T & " tables transférées"
        On Error GoTo 0
    L_ExTransfererTables:
        Exit Sub
    L_ErrTransfererTables:
        MsgBox err.Description, 48, err.Source
        Resume L_ExTransfererTables
    End Sub


    Argy

    • ทำเครื่องหมายเป็นคำตอบโดย Ciprian DuduialaOwner 23 มีนาคม 2555 7:18
    •