如果我有两个表:让我们说OrderStatus和Comments,我怎样才能总结出与一个订单相关的所有评论,以便我可以把它们放到一个字段中?
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 :(得分:0)
VBA是要走的路。但是,我不会从查询构建器中调用它。我会在原始表中添加一个“Comments”字段,并使用Recordset对象创建一个独立的VBA函数来遍历第二个表中的记录,并将数据粘贴到Comments字段中。只有30,000条记录这样的功能应该可以非常快速地运行。