2011-09-04 53 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條記錄就可以很快運行。

相關問題