如何在Access 2003中转置行和列?

时间:2009-10-01 00:44:47

标签: ms-access transpose

如何在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

感谢您的帮助。

4 个答案:

答案 0 :(得分:2)

Access实际上有一个转置动词,交叉表。如果你搜索“交叉表”,你会找到好东西,这是更常见的数据库方式。像这样Knowledge Base article。通用数据库答案通常涉及转置和总结。如果您需要非摘要交叉表,则可以完成,但您可能需要自定义函数。

答案 1 :(得分:2)

感谢大家的帮助。
我相信我已经找到了答案,我将链接放在这里以防万一其他人将来需要它:http://support.microsoft.com/kb/202176
(这适用于Access 2003。)

答案 2 :(得分:0)

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

这有帮助吗?

编辑:这假定名称不会重复 即给定名称的记录不会超过1条。

答案 3 :(得分:0)

我遇到了同样的问题,最后我将表格导出到Excel,进行转置,然后再将其导回到Access。