2011-01-13 4 views
1

한 테이블의 여러 값을 다른 테이블의 값과 연결하려는 상황이 있습니다. 그 사이에 many-to-many 조인 테이블로 구조화 된 데이터가 있습니다. 조인 테이블의 멤버를 관리하려고합니다.MS Access 2007에서 행이 선택되어 있는지 확인하십시오. 목록 상자

이 질문은 프로세스의 UI 부분에 관한 것입니다. I 내가 생각하기에 TableA 상수의 ID를 보유하고있는 폼에 다중 선택 목록 상자 컨트롤을 사용자에게 제시하는 것입니다 (우연히도 숨김). 목록에는 TableB의 모든 행 (매우 짧은 목록)이 채워집니다 (설명이 표시되고 ID가 숨겨진 열에 있음). 로드시, M-M 조인에 참여하는 목록의 행을 선택합니다. 사용자는 추가 선택 및/또는 제거 선택을 취소 할 수 있습니다.

확실하지 않은 점은 지정된 행의 선택 여부를 알 수있는 방법입니다. IsSelected 컬렉션에 대해 알고 있습니다. 그냥 추가하는 경우 For Each을 사용하여 걸겠습니다. 선택을 취소해야하며 이 아니며은 이미 존재하는 것을 다시 추가해야합니다. 이 시점에서 생각하고있는 것은 전체 목록을 걷는 것입니다. 선택된 값을 테스트 할 때 &이 아직 없다면 삽입하고 각각을 테스트합니다. un- 삭제 가능한 값을 선택했습니다. (불필요하게 복잡해지기 시작합니다. ..).

내가 처음 질문 한 것은 "행 (x)이 선택되었는지 어떻게 알 수 있습니까?"였습니다. 나는 여전히 그 대답을 원합니다. 그러나 기본 문제를 관리하기위한 다른 제안에 대해서도 열려 있습니다.

+0

하위 폼이 훨씬 쉬울 것입니다.이 경로를 사용하지 않으시겠습니까? – Fionnuala

+0

하위 폼과 함께 진행될 수도 있지만 차라리 그렇게하지 않을 것입니다. 즉각적인 이웃의 다른 하위 양식과 다르게 작동하게해야합니다. – RolandTumble

답변

1

당신은 선택한 항목을 만드는 데 사용하는 목록이있는 것처럼 보입니다. 사용자가 목록 상자를 업데이트 한 후 .ItemsSelected를 M-M 조인에 참여하는 목록의 행과 비교할 수 있습니다. 누락 된 항목을 삭제하고 추가 항목을 추가 할 수 있습니다. 몇 가지 매우 거친 메모 :

+0

물론! 목록 상자 자체가 아닌 * 레코드 세트 *. 감사! – RolandTumble

관련 문제