【问题标题】:Microsoft Access 2010 filtering data based on tempvarMicrosoft Access 2010 基于 tempvar 过滤数据
【发布时间】:2014-11-28 10:18:26
【问题描述】:

我有一个网络数据库,我试图根据临时变量的内容过滤数据表。我正在尝试使用数据表的记录源属性来执行此操作。

我需要这样做,因为每个登录的员工都应该只能看到 products 表中给定的数据子集。在员工表中,我有一个额外的列,其中包含一个字符串值,这是特定员工应该看到的数据。

我有一个登录表单,点击登录时,会将此字符串添加到 tempvars 集合中。我可以看到 tempvar 已添加到即时窗口中,如下所示:

?tempvars!tmpgrpdsc -> "IAMS"

我使用查询生成器选项来完成记录源属性,如下所示。

问题是,没有返回任何东西!

但是当我输入字符串“IAMS”时,我得到了返回的记录。

但是,我已经用另一个数据表做到了这一点并且它已经工作了,这里的 tempvar 有一个数字!见下文:

我缺少什么或者有更好的方法来根据登录过滤记录。谢谢

【问题讨论】:

    标签: ms-access ms-access-2010


    【解决方案1】:

    您展示的内容应该有效。
    但是,您是否尝试将条件更改为="""" & [Tempvars]![tmpGrdsc] & """"

    此外,为了确保您的 tempvar 在查询期间实际包含数据,您可以将其显示为一个字段,以准确检查查询期间返回的数据:

    SELECT Orders.*,
           [Tempvars]![tmpGrdsc] AS TmpGrdsc
    FROM Orders
    

    【讨论】:

    • 嗨 Renaud,感谢您的贡献。我试过了,但它仍然是空白的。我做了一些测试,如果 tempvar 包含字符串(?),则似乎无法过滤查询。所以我尝试用它包含的实际字符串(在这种情况下为“IAMS”)替换 tempvar,并且过滤器工作很奇怪。但我需要使用一个变量来使过滤器动态化。包含上面显示的数字的employeeID 的临时变量有效!有没有人观察到类似的事情?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    相关资源
    最近更新 更多