我遇到了生成複雜訪問報告(通過複雜的意思是數據處理,可變數量的字段等)的問題。
讓我更深入的詳細講解一些我需要實現的東西:從動態交叉表查詢和vba訪問報告「手動」生成報告
- 某些字段不應該根據查詢
- 如果某記錄不存在,一個漂亮的彩色一些值顯示(應該顯示消息,而不是會出現在那裏的值(例如,假設在日期字段中存在具有03/04/2009的記錄,則在日期字段中也存在具有03/06/2009的記錄,但是也存在在2009年5月3日之前沒有記錄,在顯示與最後記錄相關的數據之前,我應該打印一些類似於「2009年3月5日未顯示」的內容)
- 一個條形圖, a不是記錄中的值,而是通過一組記錄計算出來的其他值(例如某個日期的所有等級的平均值)。此圖表中的系列數量也會根據記錄中的值而變化,此圖表不在詳細信息部分,而是位於頁面標題或某種組標題中。
還應該提到查詢是TRANSFORM查詢(更確切地說,是許多TRANSFORM查詢的INNER JOIN),因此查詢返回的列數是變化的。雖然在過去,我一直無法將此查詢綁定爲報告的記錄源,但不知何故,Access現在停止了抱怨(有人可以澄清這一點嗎?這是正常的,我是否應該擔心它並將其用作記錄源或我應該避免)
有兩個選項來實現我想要的(我可以看到現在):
- 創建沒有記錄源和大量未綁定字段的報告,並通過幾個事件(Report_Open,Section_Format等)和DAO的幫助下,手動設置這些字段的值。通過VBA也可以更改圖表的數據系列。
- 將記錄源設置爲查詢,並創建一些瘋狂和令人困惑的VBA代碼來處理數據並實現我需要的一切。
在我看來,選項2將是一個巨大的頭痛和浪費時間,我認識到選項1非常像寫入Excel文件(因爲所有的數據都是通過DAO獲得的),這會容易得多,因爲我對那裏幾乎所有東西都有更多的控制(但是由於其他許多原因,我們希望在訪問報告中包含所有內容)
儘管我有偏見並打算使用選項1,但我發現這個選項的幾個問題,例如:
- 我找不到在VB報表中創建新頁面的方法A,因此我只限於第一頁。
- 缺乏某種對VBA和Access免費,在線的,體面的和完整的文檔的報道
此外,如果選擇2是比較可行的,我當然願意去用它,但我也願意需要一些建議,也許還有一些技巧來解決我在這個問題中提到的問題。
所以,問題是:
- 我在哪裏可以找到關於訪問報告和VBA一些體面的和完整的文檔?
- 如何在訪問報告中創建頁面,並選擇要寫入的頁面?
- 由於我手上有這個問題,我是否會遇到任何我應該知道的瓶頸?我是否應該考慮使用訪問報告的替代方案(例如,寫入電子表格)?
你有沒有考慮創建使用字(自動化)的報告或使用HTML? – Fionnuala 2010-02-02 17:17:20
我想堅持到儘可能多地訪問報表,切換僅在必要時 – 2010-02-02 17:41:49