我有一个包含一些组合框和一些文本框的表单。还有另一个组合框(行源是来自另一个表),该组合框需要通过用户在先前的组合框和文本框中输入的值进行过滤,但是即使您输入了值,也会收到“输入参数值”消息每一个。我为每个条件都使用了表达式构建器,因此不太可能出现任何错别字。是什么导致此消息出现?
组合框的行源代码:
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]))
答案 0 :(得分:0)
SQL语句位于RowSource中,而不是查询对象?如果控件都在同一窗体上,则不需要完整的窗体路径引用。为我工作。试试:
SELECT profile
FROM Profiles
WHERE [Type] = [typeComboBox] AND
WindowOrDoor = [windowDoorComboBox] AND
MaximumWidthPerWing > [widthUserInput] AND
MaximumHeightPerWing > [heightUserInput]
我认为Type是保留字,因此[]。
如果仍然提示输入,则Access找不到那些名称。
您还需要代码来重新查询组合框。将其放在Current事件和组合框GotFocus事件的形式。
请注意,级联组合框在连续表单或数据表表单中的效果不佳。