【问题标题】:Access ListBox: Where condition issue访问 ListBox:条件问题
【发布时间】:2015-01-20 14:36:22
【问题描述】:

我在让列表框工作时遇到问题。该列表本身引用了一个包含员工姓名的表(一个名为 [Techs] 的字段)。此表用于填充“主”表,其中包含分配给这些员工的任务(字段:[Responsible])

这里的目的是使员工可以添加到表中,然后列表和所有相关数据都将使用该名称更新,但是可以根据名称本身查询任务,而无需用户每次都设计一个新的查询。我用每个人的名字和他们分配的任务设置了一个查询。然后我制作了列表框。我希望它运行名称与用户单击的名称匹配的查询。

这是我在宏中的 where 条件:

[Techs]=[Forms]![FindbyName]![Responsible]

我得到的对话框在顶部显示 WHERE 的第一个子句,在底部显示搜索框。

【问题讨论】:

  • 对话标题为:“输入参数值”
  • "Techs" 是参数的名称。这是我设置的宏引用的查询:SELECT Master.Responsible, Master.[Task Name], Master.Description, Master.Location, Master.Due FROM Master;
  • 那个查询甚至没有提到 Techs,所以我不明白 Access 为什么要求它的值。 Master 是表还是查询的名称?
  • 我认为 Techs 可能引用了宏本身,或者 Techs 可能是 Techs 表通知Master表谁负责[Responsible]一项任务。
  • Master 是否包含查找字段?

标签: sql ms-access macros


【解决方案1】:

嵌入宏的OpenForm 操作中的Where 条件 引用了一个字段Techs,该字段在目标表单的记录源 中不存在>。因此 Access 无法识别该上下文中的字段名称,并假定它必须是参数。

更改OpenForm Where Condition 以使用记录源中确实存在的字段:

[Responsible]=[Forms]![Find PM]![List38]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-16
    • 2011-02-08
    • 2023-04-11
    • 1970-01-01
    • 2017-06-17
    • 2011-10-26
    • 2011-01-29
    • 2019-06-23
    相关资源
    最近更新 更多