MS Access伪装形式变量值

时间:2016-03-15 02:53:58

标签: vba ms-access access-vba

问题

我有一个预先存在的报告,我需要运行它引用代码

Forms!frm_report1_selection!ddlState

我正在尝试从 frm_report3 表单访问该报告,因此报告将无法找到上述记录。

我可以重写报告,但是,它有大约30个子报告,需要复制和更新才能找到Forms!frm_report3_selection!ddlState

问题

frm_report3_selection 发布时,是否可以创建别名(或伪装)变量来设置 forms!frm_report1_selection!ddlState 的值?

1 个答案:

答案 0 :(得分:0)

在报告中设置变量,并将其设置为打开报告时加载的表单的值。

使用这样的函数来查看哪个窗体是打开的;

Function IsFormLoaded(strForm As String) As Boolean

Dim frm As Form
Dim bln As Boolean

For Each frm In Forms
    If frm.Name = strForm Then
        IsFormLoaded = True
    End If
Next

End Function

然后根据报告加载时打开的变量设置变量

Dim ddlState as String

If IsFormLoaded("frm_report1_selection") then
    ddlState = Forms!frm_report1_selection!ddlState
ElseIf IsFormLoaded("frm_report3_selection") then
    ddlState = Forms!frm_report3_selection!ddlState
End if

然后在报告中使用该变量。