在VBA中为MS Access中的用户携带变量
我试图创建一个变量,该变量将贯穿MS Access中的所有用户活动 因此,我想要实现的是: 用户打开应用程序并设置区域 从那时起,我希望能够引用VBA命令中的区域,当用户在表单之间移动以限制显示的数据时,这些命令会被触发。如何在各种表单和查询中传递变量,或者只是将其创建为一个参数,并在调用时传递给每个过程 谢谢以下关于VBA中变量的文章有三个范围级别:在VBA中为MS Access中的用户携带变量,vba,ms-access-2010,Vba,Ms Access 2010,我试图创建一个变量,该变量将贯穿MS Access中的所有用户活动 因此,我想要实现的是: 用户打开应用程序并设置区域 从那时起,我希望能够引用VBA命令中的区域,当用户在表单之间移动以限制显示的数据时,这些命令会被触发。如何在各种表单和查询中传递变量,或者只是将其创建为一个参数,并在调用时传递给每个过程 谢谢以下关于VBA中变量的文章有三个范围级别: 程序级 模块级 项目级、工作簿级或公共模块级 第三个问题似乎与您的请求最相关。您可以这样定义它: Public SelectedRegion a
Public SelectedRegion as Long
作为一种替代方法,您可以考虑将此选择存储在文件中。要介绍网站上提供的示例的相关部分:
myFile = "C:\test\geographical-coordinates.txt"
Open myFile For Input As #1
Do Until EOF(1)
Line Input #1, textline
text = text & textline
Loop
Close #1
Konrad的回答涵盖了大多数选项,我只是想补充一点,即在使用Access时,您始终可以创建一个用户到区域的映射表,并将数据存储在该表中 嗨,问题是它太动态了-用户几乎每天都会根据当前关注点改变他们使用的区域-因此让他们在进入时选择一个区域是最有效的方法。Marc我认为你没有理解我的观点,你如何收集数据以及你收集数据的频率是不相关的,一旦捕获了它,就需要将其持久化,以便可以在应用程序的其他区域中使用它。在数据库应用程序中存储数据有什么比数据库本身更好的方法呢。数据怎么可能太动态而无法存储在数据库中,这是它们的设计初衷。问题在于多个用户从表中获取正确的行。如果未携带区域本身,则需要携带会话id或类似信息以识别正确的行,以防在其他行繁忙时添加另一行。。。如果没有携带变量,计算机不知道哪一行是正确的,因为它可能不是应该引用的最后一条记录只需将用户的Windows用户名存储在其区域选择旁边,请参阅了解如何执行此操作。谢谢Dave-这实际上非常有效!一个非常优雅的解决方案!谢谢,公共变量声明非常有效。由于多个用户同时更新,我避免在表中携带会话变量,这似乎是一个更好的选择。