我的表单包含一些组合框和一些文本框。还有另一个组合框(行源来自另一个表(,需要根据用户在以前的组合框和文本框中输入的值进行筛选,但即使您输入了值,也会收到每个组合框的"输入参数值"消息。我对每个标准都使用了表达式生成器,所以不太可能有任何拼写错误。是什么原因导致此消息出现?
组合框的行源代码:
SELECT Profiles.profile
FROM Profiles
WHERE (((Profiles.Type)=[Forms]![AddItem]![typeComboBox]) AND
((Profiles.WindowOrDoor)=[Forms]![AddItem]![windowDoorComboBox]) AND
((Profiles.MaximumWidthPerWing)>[Forms]![AddItem]![widthUserInput]) AND
((Profiles.MaximumHeightPerWing)>[Forms]![AddItem]![heightUserInput]))
SQL语句在RowSource中,而不是查询对象?如果控件都在同一个窗体上,则不需要完整的窗体路径引用。对我有用。试试:
SELECT profile
FROM Profiles
WHERE [Type] = [typeComboBox] AND
WindowOrDoor = [windowDoorComboBox] AND
MaximumWidthPerWing > [widthUserInput] AND
MaximumHeightPerWing > [heightUserInput]
我认为Type是一个保留字,因此有[]。
如果它仍然提示输入,那么Access将找不到这些名称。
您还需要代码来重新查询组合框。将其放入当前事件以及组合框GotFocus事件中。
请注意,级联组合框在连续或数据表形式下不太好用。