我有一个包含子表单的表单。子表单的记录源如下:
SELECT [firstID], [secondID], [AAA], [BBB], [CCC], [DDD]
FROM Table1
WHERE firstID = [Forms].[frm1].[txtfirstID];
子窗体在txtfirstID的基础上将记录组合在一起,但是当我通过记录选择器前进时,它按预期方式遍历每条记录。我想知道是否有办法点击群组而不是每个群组中的每条记录。我愿意接受任何方式。也许通过VBA过滤?
谢谢!
答案 0 :(得分:1)
首先,在表单中添加一个组合框。将组合框的RecordSource设置为不同的组列表,或者,如果您有组查找表,则select * from tblGroups
。将显示字段设置为组名,将值字段设置为组ID。
其次,从组合框中选择一个项目后,修改表单的RecordSource sql(您的查询),以便它使用组合框的当前值。组合框的值将是你的where子句应该寻找的。 p>
答案 1 :(得分:0)
我认为你可以用两种方法解决这个问题:
1.-如果您通过字段将主窗体与子窗体相关联。在这种情况下,主要的TxtFirstID为子窗体的FirstID。当更改主窗体并在子窗体上自动过滤时,它完成所有工作
2.-您可以在主表单上执行和事件OnChange表单TxtFirstID。
Sub TxtFirstID_Change()
Me.subfrmName.Form.RecordSource = "Select * from table1 where firstID=" & Me.TxtFirstID 'change the record source for the SubForm
me.subfrmName.Form.Requery 'Force Access to refresh the Record Source
end sub