MS Access Form:如何显示引用当前记录的所有记录

时间:2016-12-23 19:52:02

标签: ms-access

我有一个显示 Customers 的表单。现在,我还要显示当前打开的客户所做的所有订单 Order 表具有 Customer 的外键。

我尝试使用Multi Select设置为Simple的列表框,但它以某种方式向我显示所有订单而不仅仅是当前客户的订单。

更多详情: 我的列表框有

Control Source: ID
Row Source: SELECT customer.id, order.info FROM customer 
            INNER JOIN order ON customer.ID = order.customer_id

如果我将Multi Select设置为None,它总是标记与当前客户匹配的第一个订单,但不是所有匹配订单。

有人能指出我正确的方向吗? 谢谢。

P.S。我不一定希望该列表能够用于创建新客户。如果它也有效,那么这就是奖金。

1 个答案:

答案 0 :(得分:1)

假设您的表单绑定到Customers表,那么您需要将代码添加到表单的当前事件中:

lstOrders.RowSource = "SELECT id, info FROM order WHERE customer_id = " & Me.id
lstOrders.Requery

列表框(称为lstOrders)的列数应设置为2.如果您不想查看order.id列,请设置"列宽度" property为0(这会将第一列的宽度设置为0,让第二列order.info填充列表的剩余宽度)。设置" Bound列"到1 - 这意味着"值"列表框的顺序是order.id