Microsoft Access 2016循环查询?

时间:2018-01-02 21:32:47

标签: sql vba loops

我有一张包含帐号和UPC号码的表格。 UPC编号是唯一的,但每个UPC可能有多个与之关联的帐号。它可能只有一个帐号,也可能有多个帐号。

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

例如,在查询结果....

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

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

1 个答案:

答案 0 :(得分:0)

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

  1. 将VBA公共功能代码放在标准模块中(不在任何表单/报告之后)。

  2. 通过SQL查询调用它。下面假设UPC是一个字符串列,否则删除单引号包装。此外,请务必将默认分隔符更改为分号。

      
    SELECT UPC,  
           ConcatRelated("[Account Number]", "myTable", "UPC = '" & [UPC] & "'",
                         strSeparator = "; ")
    FROM myTable;
    
  3. 请注意:由于您运行的是特定于VBA的方法,因此如果您在GUI(即MSAccess.exe)之外运行MS Access(如ODBC / OLEDB连接),则此功能将不可用。