我有一个表单,其中包含一个列表框和几个为列表框运行sqk语句的按钮。
sub on_onClick()
' error checking
me.listbox.rowsource = "SELECT tblMain.First, tblMain.last FROM tblMain ORDER BY tblMain.Last;"
所以这就是我用于列表框的东西。它在.mdb中对我工作正常,在我转换数据库后,拆分它,制作.mde我进入mde,它仍适用于我。这是放在共享驱动器上的
但是,其他任何试图使用它的人都没有效果。无法判断它们是否无法正常工作,或者VBA没有为它们返回任何结果。它适用于我,但它不适合他们。所以...这是我当地的局域网团队,我认为他们都有完全控制权限???按钮点击使他们到那个表格也正常。
请帮忙!
答案 0 :(得分:1)
他们是否禁用了宏安全性?默认情况下,在Access中启用MAcro安全性,并且不会运行任何VBA代码。要禁用:打开Access,工具 - >宏 - >安全性并设置为低。
答案 1 :(得分:1)
我认为通常最好使用自我认证的项目或安全的位置,而不是改变安全级别。
有关宏安全的一些信息:
General information on security principals for Office code and macro security
答案 2 :(得分:1)
有几件事情浮现在脑海中:
从您的问题中不清楚mde文件本身是否位于共享驱动器上,或者后端数据库是否位于共享驱动器上,并且每个用户的PC上都有mde文件的副本。如果用户在网络共享上使用相同的mde文件,那么我强烈建议不采用这种方法。 (这可能不是问题的原因,但它会让你遇到麻烦。)给每个用户一份mde(前端)的副本,让应用程序指向网络上的后端数据库份额。
确保mde能够将表重新链接到后端mdb文件。如果搜索SO,您可能会在代码中找到如何执行此操作的示例。
我怀疑您可能遇到mde文件无法找到后端表的问题。在这种情况下,当您设置列表框的rowsource时,您不会在VBA代码中收到错误消息,并且看起来好像什么也没发生。