如何在报告代码中引用表单对象

问题描述

我知道我有一个类似的帖子,但它在解决之前就被关闭了。我现在有更多可能有帮助的信息。所有代码都在报告 vba 模块上。所以我试图用报告代码调用一个表单对象

代码

    Do.Cmd.OpenForm “FormOne”,acnormal
    Forms!FormOne.Visible = False 

    If Forms!FormOne.Form!Authorization.Value = 1 Then 
       Me.Label1.Caption = “Report A Details” 
    ElseIf Forms!FormOne.Form!Authorization.Value = 2 Then
       Me.Label1.Caption = “Report B Details” 
    End If
    End Sub 

我打开表单并使其不可见的部分有效。 If/Else 语句不起作用,但也不会给出任何错误。我也尝试用 (.) 替换第二个 (!) 但同样的事情发生了。

因为问题是在 iPad 上输入的,所以我的引号看起来像智能引号。

解决方法

我更喜欢使用报告 OpenArgs 属性设置标题。这是您的表单按钮点击事件。

Private Sub Command1_Click()

    Dim args As Variant

    If Me.Authorization.Value = 1 Then
       args = "Report A Details"
    ElseIf Me.Authorization.Value = 2 Then
       args = "Report B Details"
    End If

    DoCmd.OpenReport "Report1",acViewPreview,OpenArgs:=args
    
End Sub

这是报告打开事件

Private Sub Report_Open(Cancel As Integer)

    If Not IsNull(Me.OpenArgs) Then
        Me.Label1.Caption = Me.OpenArgs
    End If
    
End Sub