Ms access VBA DoCmd.在一组记录上打开窗体

Ms access VBA DoCmd.在一组记录上打开窗体,ms-access,vba,ms-access-2013,Ms Access,Vba,Ms Access 2013,我有一个表单(frmQATeam),它根据查询汇总记录。(qQATeam)它只显示一些较小的字段,因此我希望有一个按钮,将我带到完整记录的全屏视图(frmQASingleView),包括备注字段和其他较大的格式项。我希望看到汇总表上出现的每一条记录,而不仅仅是一条。在这个按钮上,我使用VBA向上拉全视图窗体。我试过一个: 其中方法:DoCmd.OpenForm“frmQASingleView”、“Id=”Me.Id,但它只提供所选记录,而不是frmQAteam中显示的所有6条记录 FilterN

我有一个表单(frmQATeam),它根据查询汇总记录。(qQATeam)它只显示一些较小的字段,因此我希望有一个按钮,将我带到完整记录的全屏视图(frmQASingleView),包括备注字段和其他较大的格式项。我希望看到汇总表上出现的每一条记录,而不仅仅是一条。在这个按钮上,我使用VBA向上拉全视图窗体。我试过一个:

其中方法:
DoCmd.OpenForm“frmQASingleView”、“Id=”Me.Id
,但它只提供所选记录,而不是frmQAteam中显示的所有6条记录

FilterName方法:
DoCmd.OpenForm“QASingleView”、“qQATeamViewAll”
但此方法返回表中的所有记录

我在网上的其他地方看到一个建议的方法(是的,在它的导航子表单中)

Dim rs作为对象
昏暗的书架和长的一样
lngBookmark=Me.ID
DoCmd.OpenForm“frmQASingleView”
设置rs=表格!主菜单,表格!btnManagersMenu.Form!NavigationSubform.Form.RecordsetClone
rs.FindFirst“ID=”&lngBookmark

但是这个方法也会返回表中的所有记录

我最后一次尝试是设置宏,尽管人们警告我不要使用OpenForm设置并根据查询设置过滤器。在本例中,我发现不能使用宏来筛选基于两个或多个具有关系的表的查询


我束手无策,希望有人能帮我

您可以在运行时更改
frmQASingleView
RecordSource
。因此,如果将其更改为使用相同的查询,
qQATeam
,作为第一个表单,它必须显示相同的6行。:-)

建议您首先打开空的和隐藏的表单

DoCmd.OpenForm FormName:=“frmQASingleView”,视图:=acNormal,其中条件:=“1=2”,窗口模式:=acHidden
然后更改其
记录源
,并将其取消隐藏

表单!frmQASingleView.RecordSource=“qQATeam”
DoCmd.OpenForm FormName:=“frmQASingleView”视图:=acNormal,WindowMode:=acWindowNormal

我有很多表单和查询,我不想看到每种类型的查询都有一个frmQASingleView。也许我应该看看在VBA中是否有一种方法可以在我打开表单时设置forms recordsource属性?那么也许你想做
forms!frmQASingleView.RecordSource=“something”
,是这样吗?真管用!我将代码更改为DoCmd.OpenForm“frmQASingleView”表单!frmQASingleView.RecordSource=“qQATeam”,这非常有效。如果你把这个问题转化为一个答案,我会给你荣誉,非常感谢你!