Как скопировать таблицу из одной БД 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 & "';"