错误2467过滤导航中表单中的子表单

时间:2018-06-11 15:20:55

标签: vba ms-access access-vba subform

我有一个包含1个下拉列表和4个子报表的表单,名为rptBuildingResume。当我在下拉列表中选择一个值时,我会使用该值过滤所有子表单。这很好但是......

当我将上一个表单添加到导航表单中时,我有一个名为Main的导航表单,当然我更改了我的代码,这个

  

2467错误

开始出现,但有趣的是它适用于第一个子报表,但是对于下一个子报表失败了。如果我改变了呼叫的顺序,那么对于第一个呼叫它总是很好,但是在下一个故障中会失败。

这是我用来执行此操作的代码:

[Forms]![Main]!SubformNav.[Form].rptNotFinishedBld.Report.Filter = "BuildingID_FK = " & Me.Building
[Forms]![Main]!SubformNav.[Form].rptNotFinishedBld.Report.FilterOn = True
[Forms]![Main]!SubformNav.[Form].rptNosPaidInFullBld.Report.Filter = "BuildingID_FK = " & Me.Building
[Forms]![Main]!SubformNav.[Form].rptNosPaidInFullBld.Report.FilterOn = True
[Forms]![Main]!SubformNav.[Form].rptDoneBld.Report.Filter = "BuildingID_FK >= " & Me.Building
[Forms]![Main]!SubformNav.[Form].rptDoneBld.Report.FilterOn = True
[Forms]![Main]!SubformNav.[Form].rptAgreeDepositNoStartBld.Report.Filter = "BuildingID_FK = " & Me.Building
[Forms]![Main]!SubformNav.[Form].rptAgreeDepositNoStartBld.Report.FilterOn >= True
  • 主要是我的导航表单。
  • SubformNav 是其中的子表单。
  • rpt * 是子表单中的子报表。

1 个答案:

答案 0 :(得分:0)

如果这是一个内置的导航表单,那么它是由内置的导航表单的工作方式引起的 - 我会在这里阅读https://www.access-programmers.co.uk/forums/showthread.php?t=286675来解释因果关系。

如果没有,那么你需要查看这里的语法示例http://access.mvps.org/access/forms/frm0031.htm,以便从其他表单/子表单引用子表单的正确方法。

编辑:替代方法是使用子报表的Child / Master属性来否定必须过滤它们,也可能更有效。