2016-01-26 86 views
0

目前,我正在爲我們的附屬醫院構建更新的Microsoft Access數據庫,以保留潛在醫學研究的文檔時間表。數據庫本身是獨立的,所以有真正的後端說話(這傷害了我,但我無法控制他們如何處理他們的數據)。目前它只有一張桌子,裏面有所有必要的字段。我期待每週,每月,每季度和每年自動生成報告。但是,我必須承認,我的vba編碼能力最多隻有幾分。我的問題是這樣的:在Microsoft Access中自動生成報告

  1. 我需要使用哪些代碼來生成所述報告?

  2. 我是否需要根據需要生成的時間爲每種類型的報表創建單獨的查詢,還是我可以將其全部編碼在一個查詢中,而不會相互干擾?

如果需要任何其他信息或說明,我很樂意爲您提供我能做的。

+0

您是否理解創建訪問報告,而不是使用VBA? –

+0

報告版本有什麼不同?他們是否是相同的信息,但來自不同的時間段? – HansUp

+0

@Nathan_Sav - 你的意思是設置報告,數據和佈局?如果是這樣,那麼是的,我這樣做。如果不是,我需要更多的解釋。 – JThomassie

回答

0

如果你不想使用VBA,創建自動報告打印/導出您需要:

  1. 查詢所需的日期間隔創建報表不需要用戶輸入,使用日期函數。
  2. 創建用於啓動報告和關閉數據庫的宏,無需VBA知識
  3. 在Windows任務計劃程序中創建任務,以按要求的天/時間啓動MS Access。命令行應包含用於打開指定數據庫和啓動指定宏(/ x宏名稱)的參數。參數描述你可以找到,例如,here

+0

這不是我不想使用VBA,我只是有點生鏽的atm。我一定會考慮這些想法。如果沒有別的辦法,它至少會向我們的醫院證明,這樣的報告可以在這個過程中創造並使他們的工作變得更容易。 – JThomassie

0

評論說這一切。

訪問旨在使您描述的自然的報告編寫變得非常簡單,並且可以在不使用VBA的情況下實現很多功能,或者針對該問題實現宏。

如果您想要使用相同的報表爲不同的日期範圍顯示相同的數據集(或者可能與條件中的其他更改),則應提示用戶輸入日期範圍或其他導致顯示的數據將被更改。 (即他們輸入的參數在查詢中用於更改返回的數據)。

這是非常可取的許多許多報告和查詢都是相同的,除非他們獲取不同的標準集的數據。

有很多Access編程書籍可以幫助你重新學習這些技巧。對於其他訪問視頻,我發現此頻道有用https://www.youtube.com/user/ProgrammingMadeEZ/search?query=reports,但它對報告沒有用處。

哈維

1

當調用從VBA或從宏Report,兩件事情可能是有用的給你:

  1. 提供condition,像
    docmd.OpenReport "someReport",acViewPreview,,"[examDate] > Date() - 30"
  2. 提供OpenArg,這可以在您的報告中使用vba來更改週期性(例如「M」爲「月」和「w」爲「每週」),如
    docmd.OpenReport "someReport",acViewPreview,,"[examDate] > Date() - 30",,"W"

這些技巧應該允許您設計一個報告,然後在動態時間範圍和分組中使用它。