【问题标题】:How do I create an Access 2003 MDE programmatically or by command line in Access 2007?如何在 Access 2007 中以编程方式或通过命令行创建 Access 2003 MDE?
【发布时间】:2009-09-29 21:31:59
【问题描述】:

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

【问题讨论】:

    标签: ms-access ms-access-2007 ms-access-2003


    【解决方案1】:

    试试这个:

    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
    

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

    【讨论】:

    • 您需要使用 SysCmd 603,而不是 602。602 用于压缩数据库。
    【解决方案2】:

    这可能不是您正在寻找的答案,但为什么不将 Access 2003 + Developer Extensions 与 Access 2007 并排安装,只使用 2003 编写 mde 进程脚本?

    【讨论】:

      【解决方案3】:

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

      (我知道这听起来像是一个 hack,但它应该可以很好地工作。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-13
        • 2011-06-14
        相关资源
        最近更新 更多