Как скопировать таблицу из одной БД Access в другую БД Access

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

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

Спасибо!

2 ответа

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

DoCmd.CopyObject "DestinationDatabaseName", "NewName", acTable, "SourceTable"

Вы можете запускать запросы вставки, ссылающиеся на файлы внешних файлов базы данных 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 & "';"
Другие вопросы по тегам