如何将表从一个Access DB复制到另一个Access DB

时间:2009-07-30 22:11:25

标签: ms-access vbscript ado

我正在尝试自动化从主数据库创建辅助数据库的过程。两个DB(MS Access)都包含一个表;辅助DB中的表是主数据库中表的子集。

是否有一种简单的方法可以将记录集从一个数据库复制到另一个数据库?我正在使用VBScript和ADO。

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试使用CopyObject方法:

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

答案 1 :(得分: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 & "';"

请注意两个字符串变量strDatabasePathandNameTostrDatabasePathandNameFrom。上面的动态SQL代码在DAO或ADO中都可以正常工作。

如果两个表相同,那么您可以使用以下(未经测试):

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