设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2123|回复: 8
打印 上一主题 下一主题

[查询] 关于在查询表中实现自动排序问题

[复制链接]
跳转到指定楼层
1#
发表于 2013-7-10 13:20:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教老师们:如何在查询表中实现自动排序问题。附件:自动排名MDE

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-7-10 16:11:43 | 只看该作者
select * from 阁下的表名称
order by 排序字段名1,排序字段名2,...
3#
发表于 2013-7-10 16:13:04 | 只看该作者
order by
回复

使用道具 举报

4#
发表于 2013-7-10 16:18:48 | 只看该作者
自定义函数:

Function 名次(ByVal 平均成绩 As Double) As Long
    If 平均成绩 = DMax("平均成绩", "表1") Then
        名次 = 1
    ElseIf 平均成绩 = DMin("平均成绩", "表1") Then
        名次 = DCount("*", "表1", "平均成绩>" & 平均成绩) + 1
    Else
        名次 = DCount("*", "表1", "平均成绩>=" & 平均成绩)
    End If
End Function
查询:
SELECT 表1.学号, 表1.姓名, 表1.平均成绩, 名次([平均成绩]) AS 排名 FROM 表1
5#
 楼主| 发表于 2013-7-10 16:22:06 | 只看该作者
todaynew 发表于 2013-7-10 16:11
select * from 阁下的表名称
order by 排序字段名1,排序字段名2,...

看不太懂!是在按钮事件中写代码吗?
6#
 楼主| 发表于 2013-7-10 16:38:06 | 只看该作者
aslxt 发表于 2013-7-10 16:18
自定义函数:

Function 名次(ByVal 平均成绩 As Double) As Long

请教老师您写的函数写在哪里?具体说是建一个按钮,在按钮上写代码?(函数)请详述好吗?
7#
发表于 2013-7-10 17:45:08 | 只看该作者
本帖最后由 aslxt 于 2013-7-10 17:48 编辑
aslxt 发表于 2013-7-10 16:18
自定义函数:

Function 名次(ByVal 平均成绩 As Double) As Long


这个函数把并列的情况分别处理如下:
最高分:并列第一名
最低分:比如有7人,如果2人同为最低分,那就是并列第六名;如果3人同为最低分,那就是并列第5名
中间并列:如果2人同为分数的第二位,则并列第三名;如果3人同为分数的第二位,则并列第四名
8#
 楼主| 发表于 2013-7-10 19:15:37 | 只看该作者
aslxt 发表于 2013-7-10 17:45
这个函数把并列的情况分别处理如下:
最高分:并列第一名
最低分:比如有7人,如果2人同为最低分,那 ...

感谢老师指点!我的问题比你说的简单一点,不考虑并列问题,有同样平均成绩的按序列排名就行了,如第一名:99分,第二名和第三名有可能都是98分(他们的顺序用其他字段条件制约)。另外,请老师指教,您的函数怎样使用?我没有用过请能具体指教一下!谢谢!
9#
发表于 2013-7-10 20:04:51 | 只看该作者
程研 发表于 2013-7-10 19:15
感谢老师指点!我的问题比你说的简单一点,不考虑并列问题,有同样平均成绩的按序列排名就行了,如第一名 ...


见附件中的"查询2"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-19 05:28 , Processed in 0.090586 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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