根据 MS Access 中的 2 个相邻值连接值

Concatenating values based on 2 adjacent values in MS Access

我有一个 excel sheet,其中 500,000 行导入到 MS Access。它有 3 列,格式如下

 Staff    Locations     Roles
   1      Location1     Role1
   1      Location2     Role1
   2      Location2     Role2
   3      Location3     Role3
   3      Location3     Role4

我正在尝试获取以下格式的输出

 Staff      Locations                 Roles
   1        Location1, Location2      Role1
   2        Location2                 Role2
   3        Location3                 Role3
   3        Location3                 Role4

关于我如何在 MS Access 中完成同样的事情有什么建议吗?

提前致谢

我不确定@Bill 提供的代码是如何工作的,因为我没有使用过或测试过它,尽管我使用的代码已被证明对需求更灵活一些。该函数由 Allen Browne 编写,名为 ConcatRelated.

该函数接受三个主要参数,类似于域函数。

  1. 您尝试 combine/concatenate 的 字段 是您的第一个参数。
  2. 您要查找的Table是您的第二个参数。
  3. 分组依据的条件

还有两个可选参数,您可以在其中说明如何 Order 结果(第四个参数)以及 Separator 您want(第五个参数),默认为comma.

然后可以在查询中使用该函数,例如。

SELECT
    Staff,      
    ConcatRelated("Locations", "yourTableName", "Staff = " & yourTableName.Staff & " AND Roles = '" yourTableName.Roles "'") As NewLocation              
    Roles
FROM
    yourTableName
GROUP BY 
    Staff,
    Roles;

这应该能为您提供正确的信息。