我有一张包含 42,000 多行的 Access 表,其中包含
列 1 = 城市 列 2 = 州 列 3 = 邮政编码
现在它有多个行,代表多个邮政编码的城市。因此,您可以有四行,如下所示:(注意,罗利是列 1,北卡罗来纳州是列 2,29706 是列 3)
北卡罗来纳州罗利 29706
北卡罗来纳州罗利 29707
北卡罗来纳州罗利 29708
北卡罗来纳州罗利 29709
我想搜索表格并一次返回城市州,例如“北卡罗来纳州罗利”,并在查询的单个列中返回与其相关的所有邮政编码(即:结果如下)
北卡罗来纳州罗利 29706 29707 29708 29709
我已经尝试完成这项工作一个星期了,并且发现了大量连接等,但似乎没有一个能够删除重复的城市并将邮政编码与城市州列在同一个单元格中作为一列记录。
如能提供任何帮助,我们将非常感激。
答案1
好问题。我不知道 Access,但是本文似乎可以很好地解决 SQL 中的问题。如果你熟悉它,也许你可以从这些技巧中得到一些启发。
无论如何,解决方案似乎围绕两件事:
- 首先要有一个唯一的城市列表(在 SQL 中,这是通过 select city, state group by city, state 完成的)。然后找到一种方法来创建一个查询,为给定城市的每个邮政编码分配一个唯一的行号 (1,2,3,),然后查询该查询以使用 case(1) + case(2) 等进行连接。这是本文中的第一个解决方案。
- 使用 VBA 为其创建一个函数。