2009-07-30 2 views
1

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

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

Спасибо!

+0

У Вас есть SQL-сервер доступны? –

+0

Это одноразовая работа? Если можно, создайте таблицу ссылок из базовой таблицы в вторую таблицу. Тогда код станет намного проще. – shahkalpesh

+0

Не могли бы вы просто скопировать файл? – Tester101

ответ

0

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

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

DoCmd.CopyObject "DestinationDatabaseName", "NewName", acTable, "SourceTable" 
Смежные вопросы