2014-02-05 48 views
1

打開帶有數據的報表我是相當新的訪問,VBA和報告。我想要做的是從我創建的動態查詢中獲取結果,並使用該數據打開報告。從生成的記錄集

我的基本設置,到目前爲止是由用戶輸入的數據表。在本月底,他們應該生成一份報告。爲了生成此報告,我使用VBA設置了一個表單,根據它們的輸入生成查詢。一旦運行該查詢,我將其設置爲打開報告。

目前我還沒有想出如何使用該RecordSet作爲報表的數據源。

任何人都可以請幫我這個?

回答

1

我傾向於處理這種情況的方式是在Access中創建一個保存的查詢,將報告保存在該保存的查詢中,然後在打開報表之前更新QueryDef對象的.SQL屬性。

例如,對於報告[MyReport],我會創建一個名爲[DataForMyReport]的保存查詢,其中包含一些虛擬SQL語句。然後,當需要爲給定查詢運行報告時,我只需要做

Dim cdb as DAO.Database, qdf as DAO.QueryDef 
Set cdb = CurrentDb 
Set qdf = cdb.QueryDefs("DataForMyReport") 
qdf.SQL = strNewQueryToUse ' replace the SQL statement with the new one 
Set qdf = Nothing 
DoCmd.OpenReport "MyReport" 
1

你可以做1 3件事:

1)創建一個保存查詢,並使用該查詢作爲報表的記錄源。查詢中的數據將會更改,但查詢名稱不會。報告打開時,它將提取保存的查詢的當前結果。這絕對是最簡單的方法。

2)當你打開報告,在代碼中設置的記錄源。我不認爲有必要這樣做。

3)如果您發現絕對有必要立即創建查詢,並且該查詢的名稱可能會更改,則可以將其作爲OpenArgs傳遞。但我不會推薦這個。

+0

這是在VBA腳本中創建的查詢。這不僅僅是一個靜態查詢。 – Jim

+0

但是,您可以**使用VBA保存它,並且每次都給它一個相同的名稱。 –

+0

感謝您的編輯和回覆! – Jim