Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 如何以编程方式或通过Access 2007中的命令行创建Access 2003 MDE?_Ms Access_Ms Access 2007_Ms Access 2003 - Fatal编程技术网

Ms access 如何以编程方式或通过Access 2007中的命令行创建Access 2003 MDE?

Ms access 如何以编程方式或通过Access 2007中的命令行创建Access 2003 MDE?,ms-access,ms-access-2007,ms-access-2003,Ms Access,Ms Access 2007,Ms Access 2003,我有一个旧的Access 2003数据库文件,必须保持该格式才能保留其菜单和工具栏。我最近已在构建环境中迁移到Access 2007,并将使用Access 2007运行时部署已编译的Access 2003程序。在Access 2003中,我可以使用命令行和生成首选项的.xml文件(无需创建安装包)编写创建带有Access Developer扩展名(WZADE.MDE)的MDE的过程脚本。Access 2007 developer extensions似乎没有提供类似的选项。我可以“打包一个解决方

我有一个旧的Access 2003数据库文件,必须保持该格式才能保留其菜单和工具栏。我最近已在构建环境中迁移到Access 2007,并将使用Access 2007运行时部署已编译的Access 2003程序。在Access 2003中,我可以使用命令行和生成首选项的.xml文件(无需创建安装包)编写创建带有Access Developer扩展名(WZADE.MDE)的MDE的过程脚本。Access 2007 developer extensions似乎没有提供类似的选项。我可以“打包一个解决方案”,但它会创建一个accdr并将其埋在CD安装程序中。我尝试过Docmd.RunCommand acMakeMDEFILe和Syscmd(603,mdbpath,mdepath)等编程选项,但它们在Access 2007中不再有效。当然,我可以使用数据库工具>创建MDE手动创建MDE,但据我所知,这是不可编写脚本的。

这可能不是您想要的答案,但是为什么不让Access 2003+Developer Extensions与Access 2007并排安装,只使用2003编写mde过程的脚本呢?

这可能不是您想要的答案,但是,为什么不让Access 2003+Developer Extensions与Access 2007同时安装,只使用2003来编写mde过程的脚本?

这也不是您想要的,但是为什么不使用AutoHotKey来执行您提到的手动步骤,而是通过一个热键


(我知道这听起来像一个黑客,但它应该工作得很好。)

这也不是你想要的,但是为什么不使用自动热键来执行你提到的手动步骤,而是通过热键

(我知道这听起来像一个黑客,但它应该工作得很好。)

试试这个:

Dim objAccess As Object
'Create the Access Automation object
Set objAccess = CreateObject("Access.Application")
'Now call the undocumented function...
objAccess.SysCmd 602, cstr(strPathSourceMdb), cstr(strPathDestinationMdb)
Set objAccess = Nothing
是一个链接(具有更多未记录的功能)。

请尝试以下操作:

Dim objAccess As Object
'Create the Access Automation object
Set objAccess = CreateObject("Access.Application")
'Now call the undocumented function...
objAccess.SysCmd 602, cstr(strPathSourceMdb), cstr(strPathDestinationMdb)
Set objAccess = Nothing

是一个链接(具有更多未记录的功能)。

您需要使用SysCmd 603,而不是602。602用于压缩数据库。您需要使用SysCmd 603,而不是602。602用于压缩数据库。