我有一个显示 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。我不一定希望该列表能够用于创建新客户。如果它也有效,那么这就是奖金。
答案 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