Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VBA中为MS Access中的用户携带变量_Vba_Ms Access 2010 - Fatal编程技术网

在VBA中为MS Access中的用户携带变量

在VBA中为MS Access中的用户携带变量,vba,ms-access-2010,Vba,Ms Access 2010,我试图创建一个变量,该变量将贯穿MS Access中的所有用户活动 因此,我想要实现的是: 用户打开应用程序并设置区域 从那时起,我希望能够引用VBA命令中的区域,当用户在表单之间移动以限制显示的数据时,这些命令会被触发。如何在各种表单和查询中传递变量,或者只是将其创建为一个参数,并在调用时传递给每个过程 谢谢以下关于VBA中变量的文章有三个范围级别: 程序级 模块级 项目级、工作簿级或公共模块级 第三个问题似乎与您的请求最相关。您可以这样定义它: Public SelectedRegion a

我试图创建一个变量,该变量将贯穿MS Access中的所有用户活动

因此,我想要实现的是: 用户打开应用程序并设置区域

从那时起,我希望能够引用VBA命令中的区域,当用户在表单之间移动以限制显示的数据时,这些命令会被触发。如何在各种表单和查询中传递变量,或者只是将其创建为一个参数,并在调用时传递给每个过程

谢谢

以下关于VBA中变量的文章有三个范围级别:

  • 程序级
  • 模块级
  • 项目级、工作簿级或公共模块级
  • 第三个问题似乎与您的请求最相关。您可以这样定义它:

    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-这实际上非常有效!一个非常优雅的解决方案!谢谢,公共变量声明非常有效。由于多个用户同时更新,我避免在表中携带会话变量,这似乎是一个更好的选择。