我在访问数据库中有following查询where
语句:
WHERE (((IIf([MinOfDueDayMin]<0,0,Int([MinOfDueDayMin]/7)+1))<[EnterValue]) AND ((tblEquipment.Retired)=False))
目的是在提示----((IIf([MinOfDueDayMin]<0,0,Int([MinOfDueDayMin]/7)+1))----
时询问用户是否有值以及公式[EnterValue]
何时小于用户输入。如果我使用52之类的数而不是[EnterValue]
我得到正确的结果但是当我保持[EnterValue]
时我得到提示,当我输入52时,我得到的结果不小于52。实际得到所有结果,好像标准不存在。但是当我在提示而不是52时输入10时,我得到了正确的结果。
公式在我的结果中
IIf([MinOfDueDayMin]<0,0,Int([MinOfDueDayMin]/7)+1) AS Wks
所以它显示结果。
答案 0 :(得分:0)
您需要将用户输入转换为数字值。使用Val()
功能:
IIf([MinOfDueDayMin]<0,0,Int([MinOfDueDayMin]/7)+1))<Val([EnterValue])
您还可以指定参数的数据类型。 This article向您展示了如何:
指定查询中参数的数据类型:
在“设计”视图中打开查询,在“设计”选项卡上的“显示/隐藏”组中,单击“参数”。
在“查询参数”框的“参数”列中,输入要为其指定数据类型的每个参数的提示。使 确保每个参数都与您在中使用的提示相匹配 查询设计网格的标准行。
- 醇>
在“数据类型”列中,选择每个参数的数据类型。