在表单中使用组合框时,MS 访问不需要"Enter Parameter Value"



我的表单包含一些组合框和一些文本框。还有另一个组合框(行源来自另一个表(,需要根据用户在以前的组合框和文本框中输入的值进行筛选,但即使您输入了值,也会收到每个组合框的"输入参数值"消息。我对每个标准都使用了表达式生成器,所以不太可能有任何拼写错误。是什么原因导致此消息出现?

组合框的行源代码:

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事件中。

请注意,级联组合框在连续或数据表形式下不太好用。

最新更新