2009-10-18 44 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