我正在尝试执行选择查询以显示两个表中的值。以“ Customers”和“ Orders”为例。在customers表中,它只有CustomerID(主键)和CustomerName(没有重复项)。Orders表显示了CustomerName(外键)和Order#。
当客户在“订单”表中有多个订单时,它显示如下
Jon - Order1
Jon - Order2
Luke - Order1
Luke - ORder2
Luke - Order3
Mark - Order1
如何获取选择查询以使其显示如下
Jon - Order1, Order2
Luke - Order1, Order2, Order3
Mark - Order1
它不必用逗号分隔。堆栈字段也将起作用。我的最终目标是要有一个“订单表单”,在表格/
的单个“订单”字段中列出每个客户及其所有订单表单的示例将是一个带有CustomerName的文本框,以及另一个列出每个订单的文本框
当前SQL
SELECT tblCustomers.CustomerName, tblOrders.Order#
From tblCustomers INNER JOIN tblOrders ON tblCustomers.CustomerName = tblOrders.CustomerName
答案 0 :(得分:1)
MS Access本身不提供此功能,因此,您需要使用类似于Allen Browne的ConcatRelated函数的VBA函数。
在您的示例中,您可以通过以下方式使用此功能:
select
t.customername,
ConcatRelated("[order#]", "tblorders", "customername = '" & t.customername & "'")
from
tblcustomers t
但是,我建议不要使用子窗体来表示这种数据。
此外,将表链接到客户名称而不是 ID 确实很奇怪。