2011-09-04 51 views
0

可能重复:
Combine rows in Access 2007查询将多个行值合并到MS-Access 2003中的一个字段中?

如果我有两个表:让我们说OrderStatus和评论,我该怎么总结这是由相关的一个订单的所有意见,让我可以把他们放到一个领域?

TABEL OrderStatus:

OrderID  OrderStatus  OrderDate 
64   OK    13.08.2011 
77   Deleted   21.06.2011 
99   OK    18.04.2011 

表评论:

CommID  CommOrder   CommText 
1   64    "EAN 304" 
2   64    "resent" 
3   64    "no. 499" 
4   99    "in stock" 
5   99    "EAN 111" 

我想要什么:

OrderID OrderStatus   Comments 
64   OK     "EAN 304, resent, no. 499" 
99   OK     "in stock, EAN 111" 

有关订单状态的评论总数是未知的。

我想通过Access SQL子查询来实现这一点。我已经使用从查询构建器调用的自己的VBA例程进行管理,但OrderStatus表具有超过30,000条记录,VBA太慢(需要超过10分钟才能生成报告)。在Microsoft Access中,SQL比VBA快得多,但可能很复杂。 从Access 2007开始,Microsoft已包含multivalued fields,但是我使用的Access 2003不能自动列出逗号分隔的多个值。

感谢您的帮助!

+0

请参阅:http://stackoverflow.com/questions/92698/combine-rows-in-access-2007/93863#93863 – Fionnuala

+0

就像我说过的,我已经用VBA以类似于您所建议的线程的方式进行了管理。然而,VBA比SQL慢得多。 – johnnyciao

回答

0

VBA是要走的路。但是,我不会从查询生成器中调用它。我将在您的原始表中添加一个“注释”字段,并使用Recordset对象创建一个独立的VBA函数来遍历第二个表中的记录,并将数据粘贴到注释字段中。像这样的功能只需要30,000条记录就可以很快运行。

相关问题