xdyjhdd 发表于:2014-12-13 15:15:07
Private Sub command0_Click()
1001 Set db = CurrentDb
1002 For u = 1 To 2 '共有2个班
1003 g = "2014" & u '班级编号
1004 p = 1 '由第一名开始
1005 For i = 100 To 1 Step -1 '以循环由1分检查至100分
1006 Set re = db.OpenRecordset("select * from 第一学期班级考核扣分表(导出) where 学期 like " & _
Chr(39) & g & Chr(39) & "and 班级排名之合计 = " & i) '检查有无等于变量i之分数
1007 k = 0 '计算同分者之变量予以归零
1008 If re.RecordCount <> 0 Then '找到等于变量i之分数
1009 Do Until re.EOF '逐一处理
1010 re.Edit '更改记录
1011 re("名次") = p
1012 k = k + 1 '记录同分者之记录数
1013 re.Update '储存记录
1014 re.MoveNext '下移一笔
1015 Loop
1016 p = p + k '更新下次使用之名次
1017 End If
1018 Next i
1019 Next u
1020 MsgBox "名次制作完成"
DoCmd.OpenQuery "第一学期班级考核扣分表(导出)"
End Sub
http://www.accessoft.com/article-show.asp?id=6212
成绩名次排序示例\按成绩排名
我就是学用的1楼的程序的,但好像只能在表进行排名,不知能否在查询中生成排名?我对原来的代码进行的修改不知是否正确?
总记录:2篇 页次:1/1 9 1 :