0

我有一个表单,它有一个列表框和几个为列表框运行 sqk 语句的按钮。

sub on_onClick()
' error checking

me.listbox.rowsource = "SELECT tblMain.First, tblMain.last FROM tblMain ORDER BY tblMain.Last;"

所以这就是我用于列表框的东西。它在 .mdb 中对我来说很好用,在我转换数据库、拆分它、制作 .mde 之后,我进入 mde 并且它对我来说仍然很好用。这是放置在共享驱动器上

但是,任何其他尝试使用此功能的按钮都没有效果。无法判断它们是否不工作,或者 VBA 没有为它们返回任何结果。它对我有用,但对他们不起作用。所以...这是给我当地的局域网团队的,我认为他们都有完全控制权限???使他们进入该表单的按钮单击也可以正常工作。

请帮忙!

4

3 回答 3

1

他们是否禁用了宏安全性?默认情况下,在 Access 中启用了 MAcro 安全性,并且您的任何 VBA 代码都不会运行。要禁用:打开访问,工具 -> 宏 -> 安全并设置为低。

于 2010-01-26T15:07:52.147 回答
1

我认为通常最好使用自我认证项目或安全位置,而不是更改安全级别。

有关宏安全性的一些信息:

Self Certify projects

General information on security principals for Office code and macro security

Trusted location defaults for Office 2003

Macro security in Office 2003

于 2010-01-26T15:22:47.490 回答
1

我想到了几件事:

  1. 从您的问题中不清楚 mde 文件本身是否在共享驱动器上,或者后端数据库是否在共享驱动器上,并且每个用户在他们的 PC 上都有 mde 文件的副本。如果用户在网络共享上使用相同的 mde 文件,那么我强烈建议不要采用这种方法。(这可能不是问题的原因,但它会给你带来麻烦。)给每个用户一个 mde 的副本(前端)并让应用程序指向网络上的后端数据库分享。

  2. 确保 mde 能够将表重新链接到后端 mdb 文件。如果您搜索 SO,您可能会在代码中找到如何执行此操作的示例。

  3. 我怀疑您可能遇到了 mde 文件无法找到后端表的问题。在这种情况下,当您设置列表框的行源时,您不会在 VBA 代码中收到错误消息,并且看起来好像什么都没发生。

于 2010-01-27T15:46:56.627 回答