Ms access 在MS Access中将列连接到一行
我在Access 2010数据库的查询中得到以下结果:Ms access 在MS Access中将列连接到一行,ms-access,Ms Access,我在Access 2010数据库的查询中得到以下结果: Name Column1 Column2 Column3 ----------------------------------------------------------- Example1 52 447 52447 Example1 52 455 52455 Example1
Name Column1 Column2 Column3
-----------------------------------------------------------
Example1 52 447 52447
Example1 52 455 52455
Example1 52 454 52454
Example1 52 453 52453
Example2 100 000 100000
Example2 101 001 999999
我需要转换这些数据,将每列连接到一行,类似于:
Name Column1 Column2 Column3
------------------------------------------------------------------
Example1 52 447,455,454,453 52447,52455,52454,52453
Example2 100,101 000,001 100000, 999999
由于我对Access还是新手,我为此搜索了一个VBA函数,但我找到的每个函数都忽略了一个对我来说很重要的点:
其中一些行的列超过255个字符(字符总数),因此我将无法使用找到的函数
这是一个处理类似案例的主题,但它仍然不符合我的解决方案:
这是艾伦·布朗的作品:
有人能帮忙吗
关于,我认为您找到的第二种解决方案是有效的: 您需要更改条件,因为您的表有一个双键(名称,column1) 您的选择应该如下所示:
SELECT Name, Column1,
ConcatRelated("Column2", "MyTable", "Name = '" & [Name] & "' And Column1 = " & [Column1]) as C2,
ConcatRelated("Column3", "MyTable", "Name = '" & [Name] & "' And Column1 = " & [Column1]) as C3
FROM MyTable
请注意,对于大数据,此解决方案的速度可能非常慢它是一列(不是一个collum)哦,我为错误感到抱歉。它不会。。。它将把我的数据连接到一个文本,而不是一个备忘录。select语句将在内存中运行,所以列的数据类型无关紧要。如果需要将结果保存到表中,字段大小将与连接值的大小相关。如果你有很多值,你不能将它们保存在文本字段中。我仍然不知道怎么做。我发现我的语法错误。。。我是在一个select查询中这样做的,但是挖掘这些数据的最佳方法是什么呢?我做到了!我刚刚错过了一些数据。感谢您的回复,我发现此代码非常适合:)