방금 vba와 함께 Access를 사용하기 시작했습니다. 이 특정 연도의 역할, 연도 및 각 역할의 워크로드가 포함 된 테이블이 있습니다. 테이블의 각 레코드는 IDRole, IDYear, Workload (숫자)입니다. 연도가 열에 있고 역할이 행에있는 크로스 탭 테이블을 수행하는 양식으로 테이블을 표시합니다. 년 수가 늘어날 수 있습니다.
내 문제는 새해를 추가하고 열에 표시 할 때 양식에 나타나지 않으므로 필드 목록에서 수동으로 선택해야하지만 VBA에 양식이 언제인지 알 수 있는지 알고 싶습니다. 로드하면 새 열 (년)이 자동으로 나타납니다.
나는 당신의 상황을 오해했습니다. 양식의 교차 분석 데이터 소스는 실제로 쿼리가 아닌 테이블입니다. 그리고 해당 테이블에 열을 추가 할 때 다음에 양식을 열 때 새 열이 양식에 자동으로 나타나기를 원합니다.
이 경우 아래에 설명 된 접근 방식을 사용하지만 소스 개체 드롭 다운 에서 쿼리 ( Query.qryFoo2 )를 선택한 곳 에서 해당 드롭 다운에서 테이블 ... Table.YourTableName ...을 선택합니다.
아래의 마지막 두 단락은 데이터 소스가 테이블인지 쿼리인지에 적용됩니다.
크로스 탭 쿼리를 명명 된 쿼리로 저장 한 경우 하위 폼 컨트롤에 대한 소스 개체 로 사용할 수 있습니다 .
그런 다음 디자인에서 폼보기로 전환하면 쿼리 결과가 하위 폼 컨트롤 내의 데이터 시트보기에 표시됩니다.
시간이 지남에 따라 열 수가 변경됨에 따라 해당 데이터 시트보기는 데이터 시트보기에서 직접 명명 된 쿼리를 연 것처럼 "자동으로 조정"하여 열을 표시 할 수 있습니다.
내가 아는 한, 원하는 것을 달성 할 수있는 다른 합리적으로 간단한 방법은 없습니다. 이 제안이 적합하지 않은 경우 쿼리가 현재 반환하는 필드 집합을 검사 한 후 프로그래밍 방식으로 기존 양식에 바인딩 된 데이터 컨트롤을 추가하는 방법을 탐색 할 수 있습니다. 그러나 그것은 너무 많은 노력 IMO입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다