2017-10-03 17 views
0

,해당 레코드에 대한 서브 데이터 시트의 레코드 수를 출력하는 테이블에 "계산 된"필드를 어떻게 추가합니까? 예를 들어

enter image description here

인스턴스 필드의 수는 도시

enter image description here

"1"메인 레코드와 연관된 하나 개의 하위 데이터 레코드가 존재하기 때문이다. (현재 계산 된 필드가 모든 레코드에 대해 "1"로 설정되어 있습니다)

이 방법으로 모든 주요 레코드를 자동으로 계산할 수 있습니까?

답변

1

액세스에는 자동으로 업데이트되는 계산 된 열이 없습니다. DCount() 함수를 기반으로 열을 정의하여 쿼리에서 계산 된 열을 가질 수 있습니다.

데이터 시트보기에 표시되도록 설정된 두 양식으로 마스터/세부 양식 쌍을 만드는 또 다른 방법이 있습니다. 이것은 확장 하위 행을 가진 원시 테이블 데이터 시트와 같은 방식으로 나타납니다. ControlSource 함수를 사용하여 부모 폼에 텍스트 상자를 추가하여 세부 데이터 집합의 행 수를 확인합니다. DCount 함수도 거기에서 작동합니다.

=DCOUNT("*", "DetailTableName", "ForeignKeyColumnInDetailTable = '" & [KeyColumnControlNameOnMasterForm] & "'") 

키의 데이터 유형이 문자열 값인 경우이 예에서 작은 따옴표가 필요합니다. 데이터 유형이 숫자 인 경우 작은 따옴표가 필요하지 않으므로 끝에있는 마지막 연결이 완전히 사라집니다. 날짜를 참조하는 경우 작은 따옴표를 해시 태그로 바꿉니다.

+0

예, 조금 읽은 후에 테이블에서 사용하고 대신 쿼리로 지정하기로 결정했습니다. 그러나, 나는 식 변수가 무엇이되어야하는지와 같이'DCount()'를 사용하는 방법을 여전히 망치고있다. 쿼리를 실행할 때마다 서브 데이터 시트의 정보로 구성된 테이블 값을 입력하라는 메시지가 표시됩니다. – RBuntu

+0

DCount 함수의 예제를 추가했습니다. –

+0

나는 이것을 며칠 동안 애써왔다. 정말 고맙습니다. 그것은 아름답게 일했습니다. 처음에는 구문 오류가 발생하여 'ForeignKeyColumnInDetailTable'을 대괄호로 묶었으며 완벽하게 작동했습니다! – RBuntu