MS Access - 通过记录组前进
MS Access - Advancing through record groups
我有一个带有子表单的表单。子表单的记录来源如下:
SELECT [firstID], [secondID], [AAA], [BBB], [CCC], [DDD]
FROM Table1
WHERE firstID = [Forms].[frm1].[txtfirstID];
子表单根据 txtfirstID 将记录分组在一起,但是当我通过记录选择器前进时,它会按预期遍历每条记录。我想知道是否有一种方法可以点击组而不是每个组中的每条记录。我愿意接受任何方式。也许通过 VBA 过滤??
谢谢!
首先,向表单添加一个组合框。将组合框的 RecordSource 设置为不同的组列表,或者,如果您有组查找 table、select * from tblGroups
。设置显示字段为组名,值字段为组id。
其次,从组合框中选择一个项目后,修改表单(您的查询)的 RecordSource sql,以便它使用组合框的当前值。组合框的值将是您的 where 子句应该查找的内容。
我认为你可以通过两种方式解决这个问题:
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
我有一个带有子表单的表单。子表单的记录来源如下:
SELECT [firstID], [secondID], [AAA], [BBB], [CCC], [DDD]
FROM Table1
WHERE firstID = [Forms].[frm1].[txtfirstID];
子表单根据 txtfirstID 将记录分组在一起,但是当我通过记录选择器前进时,它会按预期遍历每条记录。我想知道是否有一种方法可以点击组而不是每个组中的每条记录。我愿意接受任何方式。也许通过 VBA 过滤??
谢谢!
首先,向表单添加一个组合框。将组合框的 RecordSource 设置为不同的组列表,或者,如果您有组查找 table、select * from tblGroups
。设置显示字段为组名,值字段为组id。
其次,从组合框中选择一个项目后,修改表单(您的查询)的 RecordSource sql,以便它使用组合框的当前值。组合框的值将是您的 where 子句应该查找的内容。
我认为你可以通过两种方式解决这个问题:
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