Как скопировать таблицу из одной БД Access в другую БД Access - PullRequest
1 голос
/ 31 июля 2009

Я пытаюсь автоматизировать процесс создания вторичной базы данных из первичной. Обе БД (MS Access) содержат одну таблицу; таблица в вторичной БД является подмножеством таблицы в первичной.

Есть ли простой способ скопировать набор записей из одной БД в другую? Я использую VBScript и ADO.

Спасибо!

Ответы [ 2 ]

1 голос
/ 31 июля 2009

Попробуйте метод CopyObject:

DoCmd.CopyObject "DestinationDatabaseName", "NewName", acTable, "SourceTable"
0 голосов
/ 31 июля 2009

Вы можете запускать запросы вставки, ссылающиеся на файлы внешних файлов базы данных Access (MDB, ACCDB и т. Д.). Например:

strSQL = "INSERT INTO ServiceRecordInvoices " & _
    "( sriID, sriServiceRecordID, sriInvoiceDate, sriInvoiceNumber, " & _
                                "sriDescription, sriInvoiceAmount ) " & _
    " IN '" & strDatabasePathandNameTo & "' " & _
    "SELECT srpID, srpServiceRecordID, srpInvoiceDate, srpInvoiceNumber, " & _
                                "srpParts, srpPartsAmount " & _
    "FROM ServiceRecordParts IN '" & strDatabasePathandNameFrom & "';"

Обратите внимание на две строковые переменные strDatabasePathandNameTo и strDatabasePathandNameFrom. Приведенный выше динамический код SQL будет нормально работать в DAO или ADO.

Если две таблицы идентичны, вы можете использовать следующее (не проверено):

strSQL = "INSERT INTO ServiceRecordInvoices.* " & _
    " IN '" & strDatabasePathandNameTo & "' " & _
    "SELECT * " & _
    "FROM ServiceRecordParts IN '" & strDatabasePathandNameFrom & "';"
...