好的,所以花了几个小时就完成了这个,并且经过大量的在线教程后,我仍然无法得到这个......工作..
基本上,我让ComboBox显示<ALL>
选项,但对于报告来说,它实际上并没有返回任何内容,而是仅仅是为了美观。如何让它返回数据?需要填写3个组合框,一个是治疗类型,另一个是治疗日期(两者都经常使用(ALL))和出生月,这将始终是特定月份。
处理类型ComboBox的查询如下:
Select "(All Records)"
FROM Treatment
UNION Select Treatment.Treatment
From Treatment;
处理日期ComboBox的查询如下:
Select 0, "(All Records)"
FROM Events
UNION
Select Events.DatefieldID, Events.Datefields
From Events;
答案 0 :(得分:1)
<All>
不是Sql理解的特殊值...
如果您在其他查询中检查where treatmentType = [Value From Combo Box]
...并且组合框中的值为“<All>
”..那么没有任何行符合该条件,并且不会有任何行返回。
相反,您需要调整逻辑以不同方式处理<All>
值...
where treatmentType = [Value From Combo Box] OR [Value From Combo Box] = "<All>"
答案 1 :(得分:0)
作为Michaels解决方案的替代方案,您可以使用SQL通配符%
(在Access中为*
)来匹配所有记录。
组合框的行源查询:
Select "*"
FROM Treatment
UNION Select Treatment.Treatment
From Treatment;
并Like [Forms]![FormName]![ComboboxName]
作为结果查询中字段Treatment
的条件。
您会注意到空字段仍然不匹配。这可以通过过滤字段Nz([Treatment],0)
进行归档(使访问返回0
,匹配*
,而不是NULL
,而不是{。}}。
这使我的结果查询的SQL代码保持了很多关节的精简。