0
MS Access中可以這樣做嗎?現在,如果我想生成相同的報告(使用不同的信息),我必須關閉我已經打開的報告。如果我點擊「公開報告」,它會把我帶到我已經生成的那個,而不是真的做一個新的。我能做到這一點嗎,它會在新標籤中打開報告,同時保持前一個打開?在不關閉其中一個的情況下生成多個報告
MS Access中可以這樣做嗎?現在,如果我想生成相同的報告(使用不同的信息),我必須關閉我已經打開的報告。如果我點擊「公開報告」,它會把我帶到我已經生成的那個,而不是真的做一個新的。我能做到這一點嗎,它會在新標籤中打開報告,同時保持前一個打開?在不關閉其中一個的情況下生成多個報告
是的。
您需要一個模塊級別的Collection對象來保存每個報表的引用。此外,您需要將報告的Has Module
屬性設置爲是以便在VBE中可見。它位於標籤其他。
在打開的報告的形式:
Option Compare Database
Option Explicit
Private mInstances As Collection
'Load
Private Sub Form_Load()
Set mInstances = New Collection
End Sub
'Create report instance
Private Sub YourButtonName_Click()
Dim rpt As Report_ReportName
Set rpt = New Report_ReportName
With rpt
.Visible = True
.Caption = rpt.Hwnd & ", opened " & Now()
End With
mInstances.Add rpt
Set rpt = Nothing
End Sub
'Close
Private Sub Form_Close()
Set mInstances = Nothing
End Sub
有趣,但你將如何去與不同的數據打開呢?即模擬不同的WhereCondition或OpenArgs? – Andre
@Andre我不知道如何生成報告。通常它會鏈接到一個查詢中傳遞不同的值。因此,每個報表實例將顯示在打開報表時傳遞給查詢的值。打開新實例不會重新查詢任何公開的報告實例。 –