2009-10-18 6 views
1

2 개의 테이블, ParentTableChildrenTable이있는 매우 간단한 응용 프로그램이 있습니다. 테이블의 각 하위에는 부모에 대한 외래 키가 있습니다 (상위 - 하위 관계는 일대 다입니다).MS Access 2003에서 ListBox를 쿼리에 바인딩

부모 정보가있는 양식을 표시 할 때 부모가 모두있는 ListBox를 표시하려고합니다.

나는 모든 자식을 표시하는 ListBox를 이미 가지고 있지만 활성 부모 (현재 폼을보고있는 부모) 만 볼 수 있도록 쿼리를 변경하는 방법을 모르겠습니다. 그것은 다음과 같이 진행됩니다

WHERE ChildrenTable.ParentIdNumber == <active parent>.IdNumber 
+0

왜 하위 데이터 대신 목록 상자를 선택 했습니까? –

+0

@David - 하위 폼이이 문제를 단순화합니까? 예를 들어 줄 수 있습니까? –

답변

4

frmParent이라는 형태 ParentTable에서 IdNumber를 표시 txtIdNumber라는 텍스트 상자 컨트롤을 포함

SELECT ChildrenTable.IdNumber, ChildrenTable.FirstName, ChildrenTable.LastName FROM ChildrenTable ORDER BY [FirstName]; 

내가 뭔가를 찾고 있어요 같아요.

그런 다음 목록 상자의 행 원본에 대한 쿼리는 txtIdNumber의 값을 참조 할 수 있습니다 : 양식의 "현재에이 코드를 사용하여 frmParent에 ParentTable 레코드를 이동

SELECT c.IdNumber, c.FirstName, c.LastName 
FROM ChildrenTable AS c 
WHERE c.ParentIdNumber = Forms!frmParent!txtIdNumber 
ORDER BY c.FirstName; 

당신은 목록 상자를 업데이트 할 수 있습니다 "이벤트 :

Private Sub Form_Current() 
    Me.YourListBoxName.Requery 
End Sub