2013-07-09 1 views
0

사용자가 동적으로 쿼리를 생성 할 수있는 응용 프로그램을 개발하기 위해 Access 2003을 사용하고 GUI 정의 쿼리의 결과를 사용하여 목록 상자를 탐색합니다. 결과에서 추가 행으로 표시되는 열 머리글을 허용합니다.VBA - 원하지 않는 목록 수 표현 선택에 따른 변경

반환되는 행의 수는 목록 상자의 실제 제한 인 65535에 의해 제한됩니다. 행 X 중 Y이 텍스트 상자에 선택되었습니다.

메시지마다 생성되는리스트 박스에서 사용자가 클릭 이벤트 핸들러의 코드이다!

저 txtRowCount.Value = "로우"& (ME listDynamicSearchResult.ListIndex + 1) & _ & (나 listDynamicSearchResult.ListCount "의"- 1) & "을 선택"

일반적으로 코드는 Row X of 65534 Selected을 표시합니다. 목록 상자에서 헤더를 계산하지 않기로 선택했기 때문입니다. 사용자가 최대 값에 가까워 짐에 따라 Y 값인 65534는 65535로 변경되고 양식을 다시 쿼리하거나 지울 때까지 최대 숫자로 유지됩니다.

그래서 최대 값에 가까워지기 전까지는 왜 listcount 속성에 적절한 값이 표시되지 않습니까? 해결 방법은 DCount를 사용하는 그러나 수 http://www.baldyweb.com/RecordCounts.htm

나는 추측하고있어 그 가능성이 비싼 :

+0

또한 실제 목록 수 값은 65535에서 65536으로 변경됩니다. – Elias

답변

1

동작은

Before we get into the examples, you need to understand how RecordCount works. 
It does not tell you the number of records in a recordset. Rather, it tells you 
the count of records accessed in the Recordset. They may or may not be the same 
thing. 

이 소스는 레코드와 관련하여 발생하고 레코드

내에서 계산 것과 비슷한 수 있습니다 64k 회선을 호출하려면

+0

귀하의 솔루션은 정확한 결과를 제공하지만 집계 함수는 모든 선택은 악몽처럼 보인다. 하루가 끝날 무렵에 나는 그걸 왜하고 있는지 궁금해했습니다. – Elias

+0

나는 anythin을 더 잘 찾지 못했기 때문에 이것을 답으로 선택하고 있습니다. – Elias