如何在 Microsoft Access 中刷新子窗体的内容?
How do I refresh the contents of a subform in Microsoft Access?
我的数据库中有 4 个查询,每次我重新运行 查询(通过按钮)时都会刷新表格的内容,我有 vba 关闭并重新打开形式。这以前有效,但现在这种方法不起作用,因为我决定将我的报告嵌入到我的查询表单(位于导航控件元素内)中。我一直无法找到适用于此设置的“刷新”方法。我尝试了 Requery 方法,但它没有更新我的表单。这是我拥有的:
背景资料:
- 主窗体 = MainMenu
- 导航控件元素 = NavigationSubform
- 我放在里面的Form NavigationSubform = *equipment_at_location
- *equipment_at_location 中的子表单(我想“刷新”)=
rpt_equipment_at_location
当我单击“运行 查询”按钮时 运行 的代码:
Forms!MainMenu!NavigationSubform.Form!rpt_equipment_at_location.Requery
我也试过这个,但效果是一样的:
Me.rpt_equipment_at_location.Requery
rpt_equipment_at_location report after clicking my "run query" button
Same rpt_equipment_at_location report as a subreport inside my *equipment_at_location form after clicking my "run query" button
我知道路径是正确的,因为此代码导致表单“闪烁”(好像表单已刷新),但表单未使用查询的当前信息更新。如果我打开 rpt_equipment_at_location 链接的父表单,每次查询 运行 时,所有信息都会更新并准确更改,但该表单不会以这种方式表示为我的导航控件表单中的子表单。它只显示一条记录,当我重新查询时,该表格不会更改或变为空白。我的链接字段已填充,所以当它链接到的表单更新时,rpt_equipment_at_location 子表单不应该更新吗?
如果我需要清理任何东西,请告诉我。如果有任何帮助,我将不胜感激!!
我成功了!我不完全确定发生了什么,但我会尝试解释以防其他人发生这种情况:
重要的是要注意我的报告是基于查询的,所以当我将它放入我的表单中(拖放)时,它应该提示我输入我在该查询中要求的某些值 SQL 代码(以各种形式引用其他数据元素),但自从我处于 设计视图 后就没有了。当我切换到布局视图并将子报表放入其中时,它会提示我输入这些值,这些值初始化了最初显示在表单中的记录。在表单中预初始化我的所有记录后,Requery 代码起作用了。
抱歉,如果这没有意义。我不确定为什么 Access 会是这样或者为什么这在设计视图中不起作用,但这对我有用。
我的数据库中有 4 个查询,每次我重新运行 查询(通过按钮)时都会刷新表格的内容,我有 vba 关闭并重新打开形式。这以前有效,但现在这种方法不起作用,因为我决定将我的报告嵌入到我的查询表单(位于导航控件元素内)中。我一直无法找到适用于此设置的“刷新”方法。我尝试了 Requery 方法,但它没有更新我的表单。这是我拥有的:
背景资料:
- 主窗体 = MainMenu
- 导航控件元素 = NavigationSubform
- 我放在里面的Form NavigationSubform = *equipment_at_location
- *equipment_at_location 中的子表单(我想“刷新”)= rpt_equipment_at_location
当我单击“运行 查询”按钮时 运行 的代码:
Forms!MainMenu!NavigationSubform.Form!rpt_equipment_at_location.Requery
我也试过这个,但效果是一样的:
Me.rpt_equipment_at_location.Requery
rpt_equipment_at_location report after clicking my "run query" button
Same rpt_equipment_at_location report as a subreport inside my *equipment_at_location form after clicking my "run query" button
我知道路径是正确的,因为此代码导致表单“闪烁”(好像表单已刷新),但表单未使用查询的当前信息更新。如果我打开 rpt_equipment_at_location 链接的父表单,每次查询 运行 时,所有信息都会更新并准确更改,但该表单不会以这种方式表示为我的导航控件表单中的子表单。它只显示一条记录,当我重新查询时,该表格不会更改或变为空白。我的链接字段已填充,所以当它链接到的表单更新时,rpt_equipment_at_location 子表单不应该更新吗?
如果我需要清理任何东西,请告诉我。如果有任何帮助,我将不胜感激!!
我成功了!我不完全确定发生了什么,但我会尝试解释以防其他人发生这种情况:
重要的是要注意我的报告是基于查询的,所以当我将它放入我的表单中(拖放)时,它应该提示我输入我在该查询中要求的某些值 SQL 代码(以各种形式引用其他数据元素),但自从我处于 设计视图 后就没有了。当我切换到布局视图并将子报表放入其中时,它会提示我输入这些值,这些值初始化了最初显示在表单中的记录。在表单中预初始化我的所有记录后,Requery 代码起作用了。
抱歉,如果这没有意义。我不确定为什么 Access 会是这样或者为什么这在设计视图中不起作用,但这对我有用。