2016-03-15 23 views
0

的問題MS訪問僞裝的表單變量值

我有一個預先存在的報告,我需要運行是指

Forms!frm_report1_selection!ddlState 

我試圖訪問從報告中的代碼表格frm_report3,因此報告將無法找到上述記錄。

我可以重寫報告,但是,它有大約30子報表,將所有需要複製和更新,以尋找表格!frm_report3_selection!ddlState

問題

是否有可能創造一個別名(或僞裝)變量來設置表單的值!frm_report1_selection!ddlState當從發佈frm_report3_selection

+0

嘗試在報表1中創建獲取屬性 –

+0

該字段的值在哪裏?你可以在打開的報告中設置一個變量,指出打開它的表單是什麼?或者你可以同時在後臺打開form_report1嗎?處理這個問題有多種方式,這取決於你的設置 – GavinP

回答

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 

然後在報告中使用的變量。