我有一个名为Persons的表,如:
ID Name
1 John
2 Jerry
3 Jack
我已经设置了一个名为Form1的表单,其中包含一个名为Combo1的组合框。
Combo1有3个值 -
1
2
3
All
然后我设置以下查询:
Select * From Persons WHERE Persons.ID = (Forms![Form1]![Combo1]);
在组合框中选择1,2或3时查询工作正常但我无法弄清楚如何在用户选择“全部”时选择所有记录。 。
答案 0 :(得分:3)
我不明白为什么需要VBA。在我看来,只有查询才能得到你所需要的东西......
importAsync(["script1.js", "script2.js", "script3.js"]);
waitUntil(function() {
return ((typeof(script1Function) !== "undefined")
&& (typeof(script2Function) !== "undefined")
&& (typeof(script3Function) !== "undefined"));
});
在组合框中选择 All 时,表中所有行的条件Select *
From Persons
WHERE
Persons.ID = Forms![Form1]![Combo1]
OR Forms![Form1]![Combo1] = 'All';
将为True。因此,没有一个从查询的结果集中排除。
如果在组合框中选择了 All 以外的任何内容,则查询将仅返回Forms![Form1]![Combo1] = 'All'
值与组合框值匹配的行。
答案 1 :(得分:0)
不确定你的Combo1现在是什么样的? 您是否要求显示ID> gt的所有条目? 1或所有条目>比在Combo1中选择的ID - 你还在Combo 1中有ALL选项吗?
如果你只是问你最后一个问题:
如何使其工作以便用户可以查看ID的所有名称 大于1?
然后你可以使用
Select * From Persons WHERE Persons.ID > 1
AND (Persons.Name = Forms![Form1]![Combo2] OR Forms![Form1]![Combo2] = 'All');
但是现在我认为你们每个人都对你想要的东西感到困惑。希望我猜对了,让你走上正确的道路