问题描述
我有一个带有组合框“ cmb1”和文本框“ txt1”的表单。 组合框可以为空,也可以包含比较运算符“>”或“ frm1 我有这个查询,如下所示 qry_employee
我试图通过组合框的值作为比较运算符,将文本框的值传递给“ emplyee_age”字段中的条件,但我无法通过。 例如
- 如果cmb1为空,则查询应显示所有员工。
- 如果cmb1值为“>”,而txt1值为“ 22”,则查询应显示所有年龄大于22岁的员工
- 如果cmb1值为“ =”并且txt1值为“ 30”,则查询应显示所有年龄等于30岁的员工 ...等等 简而言之,应该从cmb1的值中获取比较运算符,而应该从txt1中获取比较值,并且两者都在查询的条件字段中使用。如果没有选择比较运算符,查询将返回所有值。我正在使用MS Access 2007。
我尝试了几个小时,但无法正常工作。非常感谢您的所有帮助。
解决方法
经过如此反复的尝试,我终于使它起作用了。完美运作。我会将其发布在这里,供任何可能搜索相同内容的人使用:) 这是查询的SQL
SELECT tbl_employees.ID,tbl_employees.emplyee_name,tbl_employees.employee_age FROM tbl_employees WHERE (((IIf(IsNull([Forms]![frm1]![cmb1]),True,Eval(([tbl_employees].[employee_age]) & [Forms]![frm1]![cmb1] & [Forms]![frm1]![txt1])))<>False));
祝你有美好的一天:)