2013-10-29 62 views
1

我一直在一個數據庫工作了一段時間,現在我已經陷入了僵局,我認爲如果我不建立一個高級的Inner Join來創建一個大表,我會遇到問題,因爲我在不同的表格中擁有相同類型的數據,在我的卓越表現中,我爲每個工作場所的每個月份創建了一個表格,而不是爲該月份創建一個列,而爲該網站創建另一個列表(我意識到的是在我的部分是一個壞的舉動是一個訪問Noob)有沒有辦法,我可以做一個新的表,結合數據庫中的所有舊錶和兩列,以確定它來自哪個表,因爲我可以看到我正在向錯誤方向?訪問2010數據庫修復

然後,當我有這張表並想要做報告時,是否有辦法對其執行多個過濾器來將數據從每個單獨的表中拉出來。由於在我目前的速度,我建立了一個vba函數內部連接每個網站的每個月每個月,然後對每個內部聯接執行多個查詢,然後對每個查詢的子報告,所以我有500個表40內部聯接,然後2個查詢每個內部連接然後是每個查詢的報告,並試圖將所有子報告合併到主報告中,這已經成爲一場噩夢。當我試圖根據所有子報告創建圖表時就意識到了這一點。這似乎很多工作,但與幾天的VBA,你可以創建很多內部聯接等。

+0

歡迎來到StackOverflow!請在提問之前閱讀[本網站的內容](http://stackoverflow.com/about)和[「如何提問」](http://stackoverflow.com/questions/how-to-ask) 。 – JMK

回答

2

創建新的主表後,執行一系列附加查詢以加載每個網站/月份表中的數據。

INSERT INTO tblMaster (site_id, mnth, etc) 
SELECT 1 AS site_id, 1 AS mnth, etc 
FROM tblSite1_Jan; 


INSERT INTO tblMaster (site_id, mnth, etc) 
SELECT 1 AS site_id, 2 AS mnth, etc 
FROM tblSite1_Feb; 

...等等。

這將需要一段時間500個源表。如果你有動力,你可以建立一個VBA程序來創建和執行這些500 INSERT陳述。決定是否可以快速構建可用的VBA過程,而不是手動創建和執行這些語句。

+0

我已經建立了一個vba程序,用於閱讀您的評論,我習慣於在excel中工作,所以VBA就像我的第二語言,而不是數據庫設計。 – ColdTeck

+0

不錯!我對你的VBA熟練程度一無所知。但即使我只使用過程一次,我也會這樣做。 – HansUp