2009-10-18 48 views
1

我有一個非常簡單的應用程序,其中有兩個表ParentTableChildrenTable。表中的每個孩子都有一個父母的外鍵(父 - 子關係是一對多)。將ListBox綁定到MS Access 2003中的查詢

當我顯示一個父窗口信息的表單時,我想顯示一個列表框與所有父母的孩子。

我已經有一個ListBox顯示所有的孩子,但我不知道如何改變查詢,以便我只看到活動的父母子女(我正在查看其形式的父母)。它是這樣的:

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

我想我在尋找類似:

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

爲什麼你爲子數據選擇了一個列表框而不是更明顯的子窗體? – 2009-10-19 00:35:02

+0

@David - 子表單能夠簡化這個問題嗎?你能給個例子嗎? – 2009-10-19 09:09:49

回答

4

名爲frmParent表單包含一個名爲txtIdNumber文本框控件顯示從ParentTable中的ID號。

然後您列表框行來源查詢可以引用txtIdNumber值:

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

,你通過ParentTable記錄frmParent移動使用此代碼爲形式的「關於當前可以更新列表框「事件:

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