ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 8607|回复: 9

求:怎样使用Access来进行数据统计?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-2-25 18:02 | 显示全部楼层 |阅读模式

以往我是用FoxPro或Excel来进行数据统计的,现在想学习Access,不知道怎样计算?

例如:我县有学校200间,学生两万多人。现对两万学生进行成绩统计,表如下:

单位 姓名 语文 数学 总分

A1 张三 62 75 137

A1 李四 78 80 158

. . . . .

. . . . .

A1 王五 91 87 178

A2 刘七 85 93 178

. . . . .

. . . . .

A200 黄八 75 86 161

***-------------------------------------------------------------------------------------------------------------------------------***

A1,A2,A3......A200为学校名称,在此简化表示。

统计(及格>=60,优秀>=80)输出的报表为:

单位语文数学总分大于180分的人数及格人数优秀人数平均分及格人数优秀人数平均分A1       A2       A3               A200       

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-2-25 18:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

统计输出报表为:

单 语文 数学 总分大于180分

位 及格人数 优秀人数 平均分 及格人数 优秀人数 平均分 人数

A1

A2

A3

....

A200

TA的精华主题

TA的得分主题

发表于 2005-2-26 12:46 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-2-26 23:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
能否在Access做,这样才体现出Access的功能。

TA的精华主题

TA的得分主题

发表于 2005-2-27 11:27 | 显示全部楼层
可以用各种 SQL 语句求出结果后写在临时表中,最后用报表输出

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-3-1 15:34 | 显示全部楼层

cgl版主:能否用SQL语句统计成sheet2表。

其中sheet1:

sxm:学校名称; bh:考生编号; xm:考生姓名; f1:语文成绩; f2:数学成绩; f3:加分; zf:总分

sheet2:

scm:学校名称; jgrs1:语文及格人数; yxrs1:语文优秀人数; pjf1:语文平均分 jgrs2:数学及格人数; yxrs2:数学优秀人数; pjf2:数学平均分

fJYIfeC4.rar (10.16 KB, 下载次数: 60)

TA的精华主题

TA的得分主题

发表于 2005-3-1 18:33 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

我认为难点是同时统计及格人数和优秀人数,对子从句了解不深。 我只能分步统计。

SELECT [sheet1].sxm, Count([f1]*1) AS 借方业务量 FROM sheet1 WHERE [f1]>80 GROUP BY [sheet1].sxm;

[此贴子已经被作者于2005-3-1 19:35:33编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-3-1 20:34 | 显示全部楼层

在Access中用VBA ,效果是否会好点?

TA的精华主题

TA的得分主题

发表于 2005-3-1 23:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用dfh93在2005-3-1 20:34:00的发言:

在Access中用VBA ,效果是否会好点?

当然啦!我对ADO和ODBC不太熟练,SQL比较容易理解(至少是现在)所以喜欢用SQL选出需要的数据后,复制到EXCEL里进行近一步的制表和细化。呵呵!半路出家的基础不扎实,不过能用就好,我现在处理分析7~8万条记录基本没有问题(机器不能太差)。

虽然太理解ADO,还是推荐一个在EXCEL中用SQL的例子,你自己琢磨一下。http://club.excelhome.net/viewthread.php?tid=71961

给一段我现在在ACCESS中用的代码,。

Sub 网点借方汇总() 'On Error Resume Next A = InputBox("输入“200403”字样,并保证数据已经导入。借方") DoCmd.RunSQL ("delete from 月网点借方汇总") For X = 1 To 9 Step 1

Select Case X Case 1 A = Left(A, 6) & "009" Case 2 A = Left(A, 6) & "006" Case 3 A = Left(A, 6) & "008" Case 4 A = Left(A, 6) & "089" Case 5 A = Left(A, 6) & "145" Case 6 A = Left(A, 6) & "220" Case 7 A = Left(A, 6) & "609" Case 8 A = Left(A, 6) & "687" Case 9 A = Left(A, 6) & "725" End Select

H = "INSERT INTO 月网点借方汇总 ( 时间, 网点号, 交易类型, 借方业务量, 借方发生额合计 ) " _ & "SELECT " & Left(A, 6) & " AS 时间, " & Right(A, 3) & " AS 网点号, [" & A & "].交易类型, Count([借方发生额]*1) AS 借方业务量, Sum([借方发生额]*0.0001) AS 借方发生额合计" _ & " FROM " & A & " WHERE [借方发生额] * 1 > 0 GROUP BY [" & A & "].交易类型;" MsgBox (H) DoCmd.RunSQL (H) Next X End Sub

TA的精华主题

TA的得分主题

发表于 2005-3-1 23:18 | 显示全部楼层
还有在函数版有个非常好的用函数实现的例子,不过忘记收藏,有兴趣到函数版里找找,收获一定会很大的。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 12:34 , Processed in 0.039255 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表