MS ACCESS根据列组合多行数据

时间:2014-12-01 20:41:38

标签: ms-access concatenation

我有一个数据库,其中包含一个包含以下3列数据的表:

WORKORDER  -  SEQNBR  -  COMMENT
R12345           1       This work was performed on Dec 3
R12345           2       1999 and resulted in the removal
R12345           3       or all similar pumps. All pumps 
R12345           4       have been replace or repair

我希望将特定WORKORDER的所有COMMENTS组合或连接到一个列或报告文本框

Ex:R12345“这项工作于1999年12月3日完成,导致拆除或所有类似的泵。所有泵都已更换或维修。

这可能吗? 任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

MS-Access(和SQL Server)在连接组的数据时非常痛苦。正如其他人所说,在MS-Access中没有很好的解决方案。

然而,这些内容可以为您提供您对示例的期望。它假设你序列中的元素数量有限(在这里,我认为是4)。这很丑陋,但有时,谦虚是必要的。

SELECT t1.WORKORDER & " " & t1.COMMENT & " " & t2.COMMENT & " " & t3.COMMENT & " " & t4.COMMENT AS Result
FROM ((your_table AS t1 LEFT JOIN your_table AS t2 ON t1.WORKORDER = t2.WORKORDER) 
LEFT JOIN your_table AS t3 ON t2.WORKORDER = t3.WORKORDER) 
LEFT JOIN your_table AS t4 ON t3.WORKORDER = t4.WORKORDER
WHERE t1.SEQNBR=1 
AND t2.SEQNBR=2 
AND t3.SEQNBR=3 
AND t4.SEQNBR=4

从这里你得到一条记录,其中一个字段包含:

  

R12345这项工作于1999年12月3日进行,并产生了   拆除或所有类似的泵。所有泵都已更换或维修