0

一位朋友向我寻求帮助,为一所大学的一个小部门整理一个 Access 数据库。它跟踪一些动物的医疗信息。问题是为了使应用程序足够容易使用,我们必须编写一些 VBA 代码来将不同的表单粘合在一起。当我们打开数据库(或数据库的新更新版本)时,我们会得到一个小的 VBA 宏信任东西,我们很难弄清楚如何摆脱这个警告。我是一名开源开发人员,也是我所在组织的系统管理员,因此使用我维护的 CA 证书签署 rpm 包对我来说通常不是问题......

我朋友的部门使用带有 Novell 的 Windows PC,但他们的计算机支持部门声明他们不为用户创建的应用程序提供任何支持(即提供由部门 CA 签名的证书),也不提供对计算机的管理员访问权限,因此我们可以更改信任设置。他们也没有为用户编写应用程序的技能或专业知识。(谢谢,伙计们,很有帮助。)

此外,在我们整个大学中,明确指示用户永远不要点击“是的,我相信这个”按钮。为了她建立的这个小型访问数据库而重新教育用户是一个问题,因为大约有 20 人将使用它来查找信息。

由于我在帮助她,我倾向于在 C# 中使用存储在共享驱动器上的嵌入式数据库文件来执行此操作,但这也属于“用户创建的应用程序”,我无法运行安装程序,因为没有一个具有管理权限。

有什么方法可以解决每次有人打开此文件时绕过宏的信任设置的需要?我认为如果我们根本不使用宏而只使用 VBA 就可以了,但显然情况并非如此。

4

2 回答 2

0

自从您提到信任中心以来,您显然走在了正确的轨道上。我不使用A2007,但是谷歌搜索了2分钟出现了这两篇文章:

那里给出的访问说明是:

  1. 单击 Microsoft Office 按钮 ,然后单击访问选项。
  2. 单击信任中心,单击信任中心设置,然后单击受信任的位置。
  3. 如果要创建计算机本地以外的受信任位置,请选中允许我的网络上的受信任位置(不推荐)复选框。单击添加新位置。
  4. 在“路径”框中,键入要用作受信任位置的文件夹的名称,或单击“浏览”以找到该文件夹​​。
  5. 如果要将子文件夹包括为受信任的位置,请选中此位置的子文件夹也是受信任的复选框。
  6. 在“描述”框中,键入要描述受信任位置用途的内容。
  7. 单击确定。

在我看来,这应该可以解决您的问题,尽管必须在每个用户计算机上完成。

于 2009-08-17T17:23:41.383 回答
0

您可能会在以下方面找到一些帮助:

http://msdn.microsoft.com/en-us/library/bb421308.aspx#OfficeAccess2007SecurityConsiderations_EnablingExecutableContentDatabases

具体来说:

嵌入式访问宏

在 Office Access 2007 中,您现在可以将宏嵌入到 VBA 等表单事件中,而不是将它们作为单独的实体保存在宏集合中。这使它们更具可移植性,因为您可以复制和粘贴带有嵌入宏的控件,并且宏保留在控件中。在许多情况下,用于打开报表的嵌入式宏就足够了,而不是针对同一任务的简短 VBA 序列。如果您在未选择数据库的情况下打开 Access 2007,则会出现“Access 入门”窗格中的特色在线数据库模板中的许多这些嵌入宏的示例。由于大多数 Access 宏都不是可执行内容,因此当您必须使数据库在所有情况下都能正常工作时,它们是一个重要的工具。

于 2009-08-17T01:37:26.757 回答