2009-10-01 12 views
2

如何轉置Access 2003中的行和列?我有多個表,我需要這樣做。如何轉置Access 2003中的行和列?

(我已經改寫我的問題,因爲反饋告訴我,它混淆了我最初是如何說的。)

每個表都有30場和20條記錄。
可以說我的領域是名字,重量,郵政編碼,質量4,質量5,質量6到質量30,這是最喜歡的電影。 讓我們說,每個記錄描述一個人。人民羣衆是愛麗絲,貝蒂,查克,戴維,愛德華等通過湯米..

我可以很容易地做出這樣的報告:

>>Alice...120....35055---etc, etc, etc...Jaws 
    Betty....125....35212...etc, etc, etc...StarWars 
    etc 
    etc 
    etc 
    Tommy...200...35213...etc, etc, etc...Adaptation 

但我想這樣做是轉的行和列所以我的報告顯示像這樣

>>Alice........Betty......etc,etc,etc...Tommy 
    120.........125........etc, etc, etc...200 
    35055.....35212....etc, etc, etc...35213 
    etc 
    etc 
    etc 
    Jaws...StarWars..etc,etc,etc...Adaptation 

感謝您的任何幫助。

+0

剛剛刪除了「交易」標籤,這裏沒有涉及交易... – MartinStettner

回答

2

訪問實際上有一個轉置動詞,交叉表。如果您搜索「crosstab」(這是更常見的數據庫方式),那麼您會發現很好的東西。像這樣Knowledge Base article。通用數據庫答案通常涉及轉置和總結。如果你需要一個非概要交叉表,它可以完成,但你可能需要一個自定義函數。

+0

感謝您的回覆。我想我雖然不明白。 知識庫文章討論總結,但我想要做的是轉換行到列和列到行。我不想總結。當然,這一定是人們做的事!任何其他想法? (我沒有技能做客戶功能。)謝謝。 –

+0

交叉表嚮導將引導您完成整個過程。 –

+0

感謝您的第二回應。但恐怕我還是不明白。我搜索並閱讀了Crosstab,並使用了Crosstab嚮導,我只是簡單地看不到轉換東西的方式 - 將所有行更改爲列,將所有列更改爲行。要改述我想做的事情:我需要將30個字段顯示爲行(而不是列),將20個字符顯示爲列(而不是行)。感謝您的幫助:) –

0
TRANSFORM SUM(Weight) 
SELECT "Dummy Data" 
FROM myTable 
GROUP BY "Dummy Data" 
PIVOT [Name] 

這有幫助嗎?

編輯:這假定名稱不會重複。
即給定名稱不會超過1條記錄。

+0

感謝您的回覆。我有很多很多的字段/列,而不僅僅是名稱和權重,還有更多的記錄/行。 (我有20多個獨特的名字。)我只是試圖讓我的例子非常簡單。如果我有Field1到Field30和20個唯一名稱,而不是字段Weight和Age,我將如何爲您的查詢提供詞語。換句話說,我所要做的就是轉置,即爲我的報告,將我的30列變成30行,將我的20行變成30列。感謝您的幫助。 –

+0

我的意思是把我的20行變成20列 –

+0

請編輯你的問題來描述你的真實模式,以及你希望看到的樣本數據和預期輸出。我會盡力去看,如果可以做到的話。一旦你編輯了這個問題,在這裏張貼你的意見讓我注意到它。 – shahkalpesh

2

感謝大家的幫助。
我相信我已經發現了答案,我把鏈接到它在這裏情況下別人需要它的未來:http://support.microsoft.com/kb/202176
(這適用於Access 2003中)

+0

您選擇了哪兩種方法? –

0

我有同樣的問題,在最後,我採取了將表格導出到Excel的方法,進行轉置,然後再次將其導回到Access。

相關問題