Ms access 如何判断访问表单/报告部分是否支持OnReturn属性/Return事件?
访问表单和/或报表可以有多个部分(例如报表标题、页眉、详细信息等),每个部分都可以使用Ms access 如何判断访问表单/报告部分是否支持OnReturn属性/Return事件?,ms-access,com,event-handling,vba,Ms Access,Com,Event Handling,Vba,访问表单和/或报表可以有多个部分(例如报表标题、页眉、详细信息等),每个部分都可以使用Report.SectionName检索,其中SectionName是用户定义的,或者使用Report.Section(Index)属性检索,其中,索引是前9个部分的访问定义常数,以及任何附加部分的递增索引,如 无论节索引是什么,该属性都返回一个节对象,并且节对象支持OnReturn属性 但是,当我检查报告各部分后面的VBA代码时,VBE不会为PageHeader或PageFooter部分公开onReturn事
Report.SectionName
检索,其中SectionName
是用户定义的,或者使用Report.Section(Index)
属性检索,其中,索引
是前9个部分的访问定义常数,以及任何附加部分的递增索引,如
无论节索引是什么,该属性都返回一个节对象,并且节对象支持OnReturn属性
但是,当我检查报告各部分后面的VBA代码时,VBE不会为PageHeader或PageFooter部分公开onReturn
事件。如果我尝试检查onreturn
属性,我会得到一个运行时错误:
运行时错误“2455”:
您输入的表达式对
不动产撤退
这只是Access/VBE的一些内部技巧,还是有一种方法可以通过编程确定某个节是否支持OnReturn
我知道我可以使用On Error Resume Next
跳过错误,但我更感兴趣的是,如果给定一个节实例,是否有一个属性可以确定节是否支持On return
和/或是否有方法确定节类型
我怀疑我必须写一些模仿内部访问逻辑的东西,比如:
Private Function SupportsOnRetreat(ReportSection As section) As Boolean
Dim rpt As Report
Set rpt = ReportSection.Parent
SupportsOnRetreat = Not Report.section(AcSection.acPageHeader) Is ReportSection _
And Not Report.section(AcSection.acPageFooter) Is ReportSection
End Function
编辑:我确实找到了[\u SectionInReport]
和[\u PageHdrFtrInReport]
接口,但所有部分似乎都实现了这两个接口