2011-09-04 5 views
0

가능한 중복 :
Combine rows in Access 2007MS-Access 2003에서 여러 행 값을 하나의 필드로 결합하는 쿼리?

나는 두 개의 테이블이있는 경우 : 내가 한 순서와는 무관하게 모든 의견을 요약 할 수있는 방법,의는 OrderStatus과 댓글을 가정 해 봅시다 그래서 I 하나의 필드에 넣을 수 있습니까?

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 개의 레코드만으로도 이와 같은 기능을 매우 빠르게 수행해야합니다.

관련 문제