Ms access 如何使用VBA创建CurrentDb的副本
我需要使用VBA创建CurrentDB的副本(大约12个副本)。副本需要是主数据库的克隆,包含所有相同的表单、查询等,只有有限的数据集除外Ms access 如何使用VBA创建CurrentDb的副本,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我需要使用VBA创建CurrentDB的副本(大约12个副本)。副本需要是主数据库的克隆,包含所有相同的表单、查询等,只有有限的数据集除外 DoCmd.CopyDatabaseFile似乎是为此而设计的,但仅当您使用它将数据库复制到MS SQL Server时才有效。正如MS在其网站上所述: 将连接到当前项目的数据库复制到Microsoft数据库 用于导出的SQL Server数据库文件 docmd.TransferDatabase只导出数据本身,而不导出结构、表单等 我在web上找到并改编的代
DoCmd.CopyDatabaseFile
似乎是为此而设计的,但仅当您使用它将数据库复制到MS SQL Server时才有效。正如MS在其网站上所述:
将连接到当前项目的数据库复制到Microsoft数据库
用于导出的SQL Server数据库文件
docmd.TransferDatabase
只导出数据本身,而不导出结构、表单等
我在web上找到并改编的代码不起作用,并在.CopyFile
行中抛出一个错误,表示:
运行时错误52:文件名或编号错误
这是密码
Sub CopyDB()
Dim external_db As Object
Dim sDBsource As String
Dim sDBdest As String
sDBsource = "\\group\bsc\groups\L\BDTP\Compliance\ComplianceData\Compliance Group Reporting.accdb"
sDBdest = "\\group\bsc\groups\L\BDTP\Compliance\ComplianceData\Compliance Group Reporting_2.accdb"""
Set external_db = CreateObject("Scripting.FileSystemObject")
external_db.CopyFile sDBsource, sDBdest, True
Set external_db = Nothing
End Sub
我怎样才能修好上面的线?或者,Access中是否有创建副本的直接命令?“创建备份”功能将为此量身定做,但我在VBA中找不到它。看起来您在sDBdest
accdb”“”中有一个额外的引号。
对于数据库副本,您也可以使用
FileCopy sDBsource, sDBdest
而不是脚本对象将在系统允许时接受作为答案。