Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 如何使用VBA创建CurrentDb的副本_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Ms access 如何使用VBA创建CurrentDb的副本

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上找到并改编的代

我需要使用VBA创建CurrentDB的副本(大约12个副本)。副本需要是主数据库的克隆,包含所有相同的表单、查询等,只有有限的数据集除外

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

而不是脚本对象

将在系统允许时接受作为答案。