Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[求助]如何将多行记录扁平化?

mosengren  发表于:2009-01-04 14:33:11  
复制

物料的检验报告有多行

每种检验项目和检验结果占一行

类似

    物料a

    项目1 结果1

    项目2 结果2

    ......

    ......

 

但业务部门希望将物料的历次检验结果进行比较

如何能将报表扁平化

类似

      项目1 项目2 ......

物料a 结果1 结果2 ......

物料b 结果1 结果2 ...... 

 

能做到这种效果吗?

我现在的思路是用代码将结果写到Excel里面去

 

Top
ACMAIN.CHM 发表于:2009-01-04 15:03:49

在ACCESS中可以用交叉查询实现你的这种需求。

 



ACMAIN.CHM 发表于:2009-01-04 15:07:58


ACMAIN.CHM 发表于:2009-01-04 15:08:12

创建交叉表查询

 使用向导创建交叉表查询

在“数据库”窗口中,单击“对象”下的“查询”,再单击“数据库”窗口工具栏上的“新建”。
在“新建查询”对话框中,单击“交叉表查询向导”,然后单击“确定”。
按照向导对话框中的指导进行操作。在最后一个对话框中,可以选择是执行查询,还是在“设计”视图中查看查询的结构。
如果生成的查询不完全符合要求,可以返回向导或在“设计”视图中更改查询。

自行创建交叉表查询

在“数据库”窗口中,单击“对象”下的“查询”,再单击“数据库”窗口工具栏上的“新建”。
在“新建查询”对话框中,单击“设计视图”,然后单击“确定”。
在“显示表”对话框中,单击列出了所需的表或查询数据的选项卡。
双击要添加到查询的每个对象的名字,然后单击“关闭”。
在设计网格中将字段添加到“字段”行,并指定条件。
在工具栏上,单击“查询类型”,再单击“交叉表”。
如果要将字段的值按行显示,请单击“交叉表”行,然后单击“行标题”。
必须在这些字段的“总计”行保留默认的“分组”。

如果要将字段的值显示为列标题,请单击“交叉表”行,然后单击“列标题”。可以只选择一个字段的“列标题”,且必须为这个字段的“总计”行保留默认的“分组”。
默认情况下,列标题按字母或数字顺序排序。如果希望以其他方式排序,或者要限制显示的列标题,请设置查询的“列标题”属性。

操作方法:

可以更改交叉表查询中的顺序或限制列标题。例如,在包含各个月份的列标题中,可以使月份按时间排序,而不是按字母顺序。也可以限制为从一月到六月的列。

在“设计”视图中打开交叉表查询。
在设计网格和字段列表之外,单击查询“设计”视图的背景。
在工具栏上,单击“属性”,以显示查询的属性表。
在“列标题”属性框中,按希望的显示顺序输入要显示的列标题。在列标题之间,请键入逗号或适合自己国家/地区(有关国家/地区的列表分隔符的内容,请查看 Windows“控制面板”中的“区域设置”)的分隔符。
输入的列标题必须与查询数据表的列标题完全相符。例如,如果数据表中的列标题是“USA”,则必须输入“USA”作为列标题,而不是“US”(按 Enter 或者将指针移动到其他位置之后,Microsoft Access 会将每个列标题用引号括起来)。

若要查看查询结果,请单击工具栏上的“视图”。
注释

如果需要经常运行交叉表查询,或者将它用作窗体、报表或数据访问页的基础查询,用上述过程指定固定的列标题可以加快查询的运行速度。
如果在不同的查询中频繁地使用相同的列标题,考虑创建带有一个文本字段的表以存储列标题。需要时请打开该表并将标题复制到“列标题”框中。
对于要将其值用于交叉表的字段,请单击“交叉表”行,然后单击“值”。
只有一个字段可以设置为“值”。

在这个字段的“总计”行,单击希望用于交叉表的聚合函数类型(例如 Sum、Avg 或 Count)。
请执行下列操作之一:



符鸿敏 发表于:2009-01-04 18:43:26

如果将附件传上,就更便于我们为你解决问题了。



黎红军 发表于:2009-01-04 18:44:50

呵呵,回答的很详细,不知楼主有看明白,解决问题了不?



常昊 发表于:2009-01-05 17:57:16

谢谢楼上的各位达人

 

我正在研究那个交叉表



常昊 发表于:2009-01-06 10:22:28

托各位的福

现在已经达到效果!

 

现在有个新的问题:

这个交叉表查询能像普通查询那样加入条件吗?



常昊 发表于:2009-02-03 10:33:56

搜索结果表明

想得到特定结果的交叉表

只有两种做法:

1.用已经加入条件的查询作为交叉表的数据来源;

2.对交叉表得到的结果进行筛选。

 

感谢ACMAIN0CHM的回答!



总记录:8篇  页次:1/1 9 1 :