ms 访问 accdb 到 accdr 转换
Posted
技术标签:
【中文标题】ms 访问 accdb 到 accdr 转换【英文标题】:ms access accdb to accdr conversion 【发布时间】:2014-10-31 15:55:01 【问题描述】:关于 MS Access 运行时版本的一个小问题。我有一个accdb
文件,我将其重命名为accdr
并尝试在我的运行时版本中执行它,但不幸的是我无法打开该文件,因为我收到一个安全身份验证警告,指出我尝试打开的文件包含一些未经身份验证的内容.
我已经尝试过将accdb
转换为accdr
的标准方法。我知道内容是有效的(由我创建)所以任何人都可以帮助阐明这个问题。
【问题讨论】:
【参考方案1】:首先,重命名文件不会改变你所拥有的。我的意思是我无法将 word 文档重命名为 AutoCAD 文档,而您现在拥有一个 auto cad 应用程序。所以重命名的“行为”不会改变文件内部的内容。
因此,将 accDB 重命名为 accDR 是某种“转换”,而您尝试进行此类转换并不是计算机的工作方式。
接下来,您无需说明您是否在开发机器上运行 accDR。更糟糕的是,当您简单地将 accDB 复制到该机器并双击它时会发生什么?
所以请记住以下几点:
如果您在机器上安装运行时,那么您可以简单地复制任何 mdb、mde、accDB、accDE 甚至是 accDR,然后只需双击该文件即可启动/运行该应用程序。
因此,将文件重命名为 accDR 的要求为零,这样做与使用运行时将 accDB 复制到该计算机并只需双击该 accDB 没有什么不同。
因此无需将文件重命名为 accDR
但是,关于 un-athenciated 内容的错误消息是一个不同的问题,与 accDR 问题完全无关。如果您只是将任何访问文件复制到该计算机并双击它,您就会收到该错误。所以解决这个问题的方法是确保 accDB 文件的文件夹/位置在受信任的文件夹中。
最后但同样重要的是: 你真的(但真的真的真的)想把你的 accDB 编译成 accDE。在使用和运行它们之前,应该对任何和所有应用程序执行此操作。更重要的是,使用运行时时任何未处理的错误都会关闭您的应用程序,如果它是 accDB,但如果您使用 accDE,则不会。
因此,将文件重命名为 accDR 没有任何作用,不会产生任何结果,也不是必需的。 accDR 的唯一优点是它用于在您的开发机器上进行测试,因为使用该文件扩展名将可以访问“模拟”或“模仿”运行时环境。然而,由于目标机器是运行时的,因此不需要重新命名,从而对结果产生零影响。
因此您需要确保数据库在受信任的位置运行。
这解释了如何做到这一点:
http://office.microsoft.com/en-gb/access-help/decide-whether-to-trust-a-database-HA010341635.aspx
所以理论上你应该看到/收到安全警告并能够“启用内容”。
您还可以考虑将受信任的位置添加到注册表中,甚至可以提供导出的“注册表”文件,可以在目标计算机上单击该文件以创建该受信任的文件夹。
因此,作为一个很好的一般建议,您需要首先将您的应用程序编译为 accDE。重命名为 accDR 的下一步是可选的,不是必需的,并且不会更改应用程序,也不会在使用运行时时实现任何用途。
【讨论】:
非常感谢您这么好的回复,我明白了您想说的话,我知道我会通过重命名我现有的 accdb 文件来说明,因为我只想知道确切的过程。问题是安全认证警告我让我不确定,但即使我从受信任的位置操作它也无法正常工作,所以请你指导我解决这个错误。 我的 Access 应用程序在将我的 accDB 编译成 accDE 后无法完全工作:我的报告只是部分预定义(硬编码)。根据用户的选择,它们中的大部分都是通过 VBA 代码动态设计的。在已编译的二进制文件 (accDE) 中,用户无法修改设计,因此我的报告不起作用。以上是关于ms 访问 accdb 到 accdr 转换的主要内容,如果未能解决你的问题,请参考以下文章
在 MS Access 中将宏从 .accdb 保留到 .mdb