Access数据库的查询输入不工作

问题描述:

参数值我有一个访问数据库中的following查询where声明:Access数据库的查询输入不工作

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.我实际上获得了所有结果,标准不存在。但是,当我提示10而不是52时,我得到了正确的结果。

的公式是在我的结果

IIf([MinOfDueDayMin]<0,0,Int([MinOfDueDayMin]/7)+1) AS Wks 

所以它显示结果。

您需要将用户输入转换为数字值。使用Val()功能:

IIf([MinOfDueDayMin]<0,0,Int([MinOfDueDayMin]/7)+1))<Val([EnterValue]) 

您也可以指定参数的数据类型。 This article告诉您如何:

在查询中指定参数的数据类型:

  1. 与查询设计视图中打开,设计选项卡上,显示/隐藏组中,单击参数。

  2. 在“查询参数”框的“参数”列中,为每个要为其指定数据类型的参数输入提示。使 确保每个参数都与您在查询设计网格的 条件行中使用的提示匹配。

  3. 在数据类型列中,为每个参数选择数据类型。

+0

谢谢。我自己弄明白了。添加一个数字也可以工作,然后将其视为一个值。 – Charlie