各位高手,谁会vfp,请教一个问题,我有年级的期末考试整个数据库,想把在整个年级考试数据库同学的班级名 10

次按班级总分名次添加到数据库中,不想再用excel中rank函数了,我想直接可以在vfp可以操作那位老师可以帮忙写一段一段命令?年级名次我已经添加到数据库了,请注意总分相... 次按班级总分名次添加到数据库中,不想再用excel中rank函数了,我想直接可以在vfp可以操作那位老师可以帮忙写一段一段命令?年级名次我已经添加到数据库了,请注意总分相同的,必须排名一样,如:第1名,第2名,第2名,第4名,第5名,年级排名

代码如下:Index On -总分 To Temp.IdxGo ToplnRank=1lnRankIndex=1lnScore=总分Do While !Eof()If 总分!=lnScorelnScore=总分lnRank=lnRankIndexEndIfReplace 年级名次 With lnRanklnRankIndex=lnRankIndex+1SkipEndDoSet Index ToERase Temp.Idx
展开
 我来答
百度网友cb6c9bc
2012-09-16 · TA获得超过1.2万个赞
知道大有可为答主
回答量:7158
采纳率:40%
帮助的人:5538万
展开全部
Index On 班级+Str(总分) Tag Temp desc && 前提班级字符型、总分数值型
Go top
lnRank=1 && 实际排名
lnRankIndex=1 && 记录排名变量
lnScore=总分 && 总分判断记录变量
inbanji=班级 && 班级判断记录变量 新加
Scan
if inbanji#班级 && 班明纳级变了就重新赋值
lnRank=1 && 排名
lnRankIndex=1 && 排名
lnScore=总分 && 总分判断记录变量
inbanji=班级 && 班级判断记录变量 新加困带
else
If 总分汪槐芦#lnScore
lnScore=总分
lnRank=lnRankIndex
else
lnRank=lnRank
endif
EndIf
Replace 班级名次 With lnRank
lnRankIndex=lnRankIndex+1
EndScan
Set Index To

参考资料: 按你的习惯改进来了,不管怎么样就是好用,给你弄了15分钟加点分吧

五指梳
2012-09-16 · 超过20用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:55.1万
展开全部
楼上的方法可行,但是用VFP的统计函数COUNT更简洁,连索引都可以省去!
原理就是统计总分比当前记录清激大的记录数(即人数),排名就是记录数+1,如果为0,即排名第一!
把do...enddo之间的备注用的“*”去掉,则年级排名,班级排名就一次出来了,
程序简单明了
代码如下:(答散袜由于没成绩表,未经运行验证)
Local inrank,inrankb,inscore,inbanji,tmprec &&宣布临时变量
*InRank && 年级实际排名-1
*InRankB && 班级实际排名-1
*InScore && 总分判断记录变量
*Inbanji && 班级掘友判断记录变量
*tmprec && 临时记录号
Go Top
Do While !Eof()
inscore=总分
inbanji=班级
tmprec=Recno()
* Count For 总分>inscore To inrank &&年级名次-1
Count For 总分>inscore And 班级==inbanji To inrankb &&班级名次-1
Go tmprec
* Replace 年级名次 With inrank+1
Replace 班级名次 With inrankb+1
Skip
Enddo
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
文心雕龙65
2012-09-28
知道答主
回答量:3
采纳率:0%
帮助的人:4627
展开全部
算法描述:数据量不大的话可以用统计来实现
go top
do while .not. eof()
zf=总带戚分
wz=recn()
bj=班级
nj=lfet(学号,4)
count to rs1 for 总分>zf for left(学号,4)=nj
count to rs2 for left(学号,4)=nj .and. 班级=bj
go wz
repl 年级名次 with rs1,班蠢搜陵级名次 with rs2
skip
enddo
当然如果数据量较大,就要考虑运行时间成本了漏含
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式