问题
我有一个预先存在的报告,我需要运行它引用代码
Forms!frm_report1_selection!ddlState
我正在尝试从 frm_report3 表单访问该报告,因此报告将无法找到上述记录。
我可以重写报告,但是,它有大约30个子报告,需要复制和更新才能找到Forms!frm_report3_selection!ddlState
问题
从 frm_report3_selection 发布时,是否可以创建别名(或伪装)变量来设置 forms!frm_report1_selection!ddlState 的值?
答案 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
然后在报告中使用该变量。