【问题标题】:Search Query Problems: Won't display Instructors when Check Box Unticked搜索查询问题:未选中复选框时不会显示讲师
【发布时间】:2017-04-05 12:27:47
【问题描述】:
+--------------+----------+-------------+------------+---------------+
| InstructorID | CourseID | Course date |    Type    | Pass or Fail? |
+--------------+----------+-------------+------------+---------------+
|        00001 |        1 | 22/05/2007  | Assessment | True          |
|        00001 |        2 | 01/02/2012  | Assessment | True          |
|        00001 |        3 | 21/08/2015  | Training   | True          |
|        00001 |        3 | 21/06/2016  | Assessment | False         |
|        00001 |        4 | 21/03/2013  | Assessment | True          |
|        00001 |       11 | 10/10/2014  | Training   | True          |
|        00004 |        3 | 20/01/1975  | Assessment | True          |
|        00100 |        1 | 25/05/2005  | Assessment | True          |
|        00100 |        5 | 12/12/1999  | Assessment | True          |
|        22222 |        1 | 07/05/2013  | Training   | True          |
|        22222 |        9 | 08/05/2015  | Assessment | False         |
|        22222 |       10 | 04/06/2015  | Assessment | True          |
|        22222 |       12 | 14/05/2014  | Assessment | True          |
+--------------+----------+-------------+------------+---------------+

我有一个特定的查询,它使用类型和通过或失败?发生的情况是我有一个带有组合框、复选框和按钮的搜索页面,当按下按钮时,它将搜索组合框中的活动,然后将搜索通过或失败为真或不是,然后如果类型是“评估”或“培训”。取消勾选复选框时表示培训,因为他们在技术上不合格,但勾选后,它应该只显示有划独木舟资格、经过评估并且通过或失败为真的教练。

10,11,12是3个皮划艇课程的ID。

我的查询将产生 Qualified:

IIf([Forms]![Find Activity Instructors]![Check4]=True,IIf([Pass or Fail?]=True,[Type]="Assessment",IIf([Forms]![Find Activity Instructors]![Check4]=False,IIf([Pass or Fail?]=True,[Type]="Training",[Pass or Fail?]=False))))

所以我的问题是,当组合框选择为独木舟时,为什么培训中的教练不会出现?

屏幕:

https://snag.gy/jFru12.jpg查询画面

https://snag.gy/1HWImy.jpg 搜索屏幕

https://snag.gy/CFIGJi.jpg Combo 为 Canoeing 且复选框为 True 时显示的内容

https://snag.gy/TO9ZiA.jpgcombo 是独木舟而复选框为 False 时会发生什么

【问题讨论】:

    标签: ms-access combobox ms-access-2007


    【解决方案1】:

    由于 IIf() 的嵌套方式,IIf([Forms]![Find Activity Instructors]![Check4]=False,IIf([Pass or Fail?]=True,[Type]="Training",[Pass or Fail?]=False 仅在 [Pass or Fail!] 的第一个测试为 false 时运行。

    您没有显示任何训练有 [Pass or Fail?] = False 的记录 - 可能吗?考虑:

    WHERE [Category]=[Forms]![Find Activity Instructors]![Category] ​​AND [Type]=IIf([Forms]![Find Activity Instructors]![Check4]=True, "Assessment","Training ") AND [通过或失败?]=True

    我从不在查询中使用动态参数。我更喜欢构建过滤条件然后应用于表单或报告的表单后面的代码。

    建议名称中不要使用空格或标点符号/特殊字符(下划线除外)。最好是 [IsPassed] 或 [Is_Passed]。

    【讨论】:

      猜你喜欢
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 2019-01-30
      • 1970-01-01
      • 1970-01-01
      • 2019-07-23
      • 2022-10-09
      相关资源
      最近更新 更多