【发布时间】:2021-11-25 03:39:50
【问题描述】:
我是访问和编码的新手。 我有一张包含大量数据的表格。我想通过运行查询或 VBA 在 Access 中指定一些数据。我想要的是组合基于列的数据和用逗号分隔的每个数据。我正在粘贴下面的表格示例:
输入表
输出数据 enter image description here
我尝试使用 COMMON,但没有成功。请帮忙。
【问题讨论】:
-
您不仅要合并字段,还要合并记录。组合字段是简单的串联,组合记录需要 VBA(Google Allen Browne ConcatRelated)。如果数据结构被规范化,这将更简单。 “没有运气”是什么意思 - 错误消息,错误结果,没有任何反应?我希望在 Access 中无法识别 COMMON。问题太宽泛了。尝试编写代码,当您遇到特定问题时,发布问题。
-
既然每列只允许一种类型的产品,为什么列名产品和数据不是真/假?无论如何,数据没有标准化,这使数据操作变得复杂。 UNION 查询可以将数据重新排列为标准化结构,并且该数据集可以作为进一步操作的源。
-
我尝试使用 COMMON,它给出了一个无法识别的错误。我知道这使数据复杂化了很多。我能够使用 VBA 在 excel 中合并数据,但希望在访问中实现相同的目标。在 excel 中,我必须使用单个产品列和 vlookup 来获得结果,但需要更好的方法来存档相同的结果。其中我只是运行查询来实现它。我完全同意这是复杂的数据,需要一些帮助。
-
不知道是否更好。引用的 Allen Browne 程序(以及其他类似程序)在处理大型数据集时执行缓慢。混合使用 UNION 查询会使情况变得更糟。无论数据结构如何,VBA 都是获得所需输出的唯一方法。
-
我确实尝试了 Allen brown 方法,但没有成功。我得到的错误是 Concatrelated 的未定义函数。可能是我需要的结果更复杂。
标签: sql ms-access concatenation