Microsoft Access 2016循环查询?

问题描述 投票:0回答:1

我有一张桌子,上面有帐号和UPC号码。 UPC编号是唯一的,但每个UPC可能有多个与之关联的帐号。它可能只有一个帐号,也可能有多个帐号。

我想要做的是获取与UPC字段关联的帐号的完整列表,但是将它们全部放在一个结果字段中,用逗号或分号分隔。

例如关于查询结果....

UPC                        Account Number
1225486214781              R0002458; R3325482; M2154865; M5214861; C2145789

循环查询是否可以让我这样做?如果是这样,我将如何将其组合在一起?

sql vba loops
1个回答
0
投票

考虑Allen Browne的ConcatRelated(),您可以通过执行以下操作来实现:

  1. 将VBA公共功能代码放在标准模块中(不在任何表单/报告之后)。
  2. 通过SQL查询调用它。下面假设UPC是一个字符串列,否则删除单引号包装。此外,请务必将默认分隔符更改为分号。 SELECT UPC, ConcatRelated("[Account Number]", "myTable", "UPC = '" & [UPC] & "'", strSeparator = "; ") FROM myTable;

请注意:由于您运行的是特定于VBA的方法,因此如果在GUI(即MSAccess.exe)之外运行MS Access(如ODBC / OLEDB连接),则此功能将不可用。

© www.soinside.com 2019 - 2024. All rights reserved.