2017-07-03 57 views
0

MS Access中可以這樣做嗎?現在,如果我想生成相同的報告(使用不同的信息),我必須關閉我已經打開的報告。如果我點擊「公開報告」,它會把我帶到我已經生成的那個,而不是真的做一個新的。我能做到這一點嗎,它會在新標籤中打開報告,同時保持前一個打開?在不關閉其中一個的情況下生成多個報告

回答

1

是的。

您需要一個模塊級別的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 
+0

有趣,但你將如何去與不同的數據打開呢?即模擬不同的WhereCondition或OpenArgs? – Andre

+1

@Andre我不知道如何生成報告。通常它會鏈接到一個查詢中傳遞不同的值。因此,每個報表實例將顯示在打開報表時傳遞給查詢的值。打開新實例不會重新查詢任何公開的報告實例。 –

相關問題