【发布时间】:2011-06-24 05:49:17
【问题描述】:
我在 MS Access 中执行了以下操作:我制作了一个包含组合框和按钮的表单。您从那里选择一个选项并单击该按钮,它应该会打开一个报告。现在,我编写了一个查询,从表中选择了几个字段,并在 where 子句中将条件设为 where name=str(combo1.value),并将报告源指定为此查询。现在,当我选择值并单击按钮时,它会打开一个空白报告。我怎样才能让它只加载那些特定的值?
我没有在任何地方保存组合框值。它说它会记住该值以供以后使用。我不保存它是在做正确的事吗?我应该怎么做才能完成这项工作?请帮帮我!
编辑:组合框使用表 X 中第 1 列的值。我没有将该值绑定到任何字段,并且正在使用“记住该值以供以后使用”选项假如。组合框本质上是一个酒店列表,而报告是住在所选酒店的人员列表。当我输入字段的 ID(如 X 中定义的那样)时,它就起作用了。但问题是,它应该指的是酒店的名称,而不是 ID,我应该在弹出窗口中输入 ID。我该怎么办?
编辑2:查询如下:SELECT Table_1.Hotel_Name, Table_2.Name_of_Delegate, Table_2.Address, Table_2.City, Table_2.Center, Table_2.Spouse_Present, Table_2.No_of_Children, Table_2.No_of_Guests, Table_2.No_of_Rooms
FROM Table_1 INNER JOIN Table_2 ON Table_1.ID=Table_2.Hotel_of_Residence
WHERE Table_1.Hotel_Name=FormName.Combo7.Text;
当我单击按钮(打开报告)时,它会在弹出框中询问酒店的名称。我怎样才能避免这种情况?我做错了什么?
【问题讨论】:
-
在设计模式下打开您的表单。单击组合框将其选中。然后右键单击以打开弹出菜单并选择属性。在属性表上,选择数据选项卡。然后告诉我们这些属性旁边的框中是什么:行源类型;行源;绑定列。如果行源是查询,请复制该查询 SQL 并将其粘贴到您的问题中。
-
@HansUp:没有控制源。行源是
SELECT [Table_Name].[ID], [Table_Name].[Name] FROM [Table_Name];。行源类型是表/查询。 Bound Column 为 1(我假设它显示了我希望在组合框中显示的名称。)当我选择一个名称并单击 Display Report 按钮时,它会调用一个嵌入的宏来打开报告.在宏设计器的 where 条件中,我提供了根据所选值填充它的子句(报告),但它似乎不起作用。请帮忙。 -
@HansUp:另外,如果你能帮助我this,我将不胜感激
标签: ms-access ms-access-2007 report