使用连贯的vba excel

我有一个SQL语句使用函数concatrelated有问题。 我想获得如下:

我的数据是:

A.CABNRO E01.EXCCEX 90001 500 87000 400 90001 450 90001 300 87000 500 76005 

我想获得:

 A.CABNRO NEW FIELD 90001 500,450,300 87000 400,500 76005 

下面的代码不会运行时,我包括与相关的语句。 我将不胜感激,如果有人可以帮助我!

 MYSQL = "SELECT A.CABFPR, A.CABCIA, A.CABCTR, B.CTRDTR, A.CABLOE, " MYSQL = MYSQL & "A.CABNRO, A.CABCAR, A.CABFED, A.CABHOD, A.CABFEI, " MYSQL = MYSQL & "A.CABHOI, A.CABFEF, A.CABHOF, A.CABFEE, A.CABHOE, " MYSQL = MYSQL & "A.CABCCL, A.CABNEM, A.CABDEM " MYSQL = MYSQL & "CONCATRELATED(EXCCEX, E01, A.CABNRO=E01.EXCNRO) " MYSQL = MYSQL & "FROM BDYOBEL.AIPDTA.AIPCAB A " MYSQL = MYSQL & "LEFT OUTER JOIN BDYOBEL.AIPDTA.AIPCTR B ON A.CABCIA=B.CTRCIA AND A.CABCTR=B.CTRCTR " MYSQL = MYSQL & "LEFT OUTER JOIN BDYOBEL.AIPDTA.AIPEXC E01 ON A.CABNRO=E01.EXCNRO " MYSQL = MYSQL & "WHERE A.CABCIA='LOR' AND A.CABFED>=" MYSQL = MYSQL & Chr$(39) & fini & Chr$(39) & "AND A.CABFED<=" & Chr$(39) & ffin & Chr$(39) MYSQL = MYSQL & " AND (A.CABCTR='DM' OR A.CABCTR='L1' OR A.CABCTR='L5' OR A.CABCTR='LR') AND A.CABCAR<>'0'" 

http://allenbrowne.com/func-concat.html陈&#x8FF0;

如果ConcatRelated函数返回超过255个字符,并且在查询中将其用作另一个logging集的源,则Access中的一个错误可能会为其余字符返回垃圾。

这可能会解释为什么你的代码不工作。
在Access中无法实现非固定数量列的聚合数据。 你可以做的最好的是写这样的东西,并结合列与文本编辑器。

 TRANSFORM Sum(E01.EXCCEX) AS SumOfEXCCEX SELECT A.CABNRO FROM [BDYOBEL-AIPDTA-AIPCAB] AS A INNER JOIN [BDYOBEL-AIPDTA-AIPEXC] AS E01 ON A.CABNRO = E01.EXCNRO GROUP BY A.CABNRO ORDER BY A.CABNRO DESC , E01.EXCCEX DESC PIVOT E01.EXCCEX; 

运行查询为您的示例数据提供以下结果: 访问输出的屏幕截图