标题:请教语句含义
只看楼主
chychychy
Rank: 2
等 级:论坛游民
帖 子:126
专家分:18
注 册:2015-4-18
结帖率:100%
已结贴  问题点数:20 回复次数:8 
请教语句含义
*(1)根据语文成绩排名次
Index On -语文 To Temp.Idx
Go Top
lnRank=1
lnRankIndex=1
lnScore=语文
Do While !Eof()
If 语文!=lnScore
lnScore=语文
lnRank=lnRankIndex
EndIf
Replace 语文名次 With lnRank
lnRankIndex=lnRankIndex+1
Skip
EndDo
搜索更多相关主题的帖子: 语句 含义 语文 Eof If 
2017-08-03 16:27
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:7 
以下是引用chychychy在2017-8-3 16:27:39的发言:

*(1)根据语文成绩排名次
Index On -语文 To Temp.Idx  从高分到低分排队
Go Top
lnRank=1
lnRankIndex=1
lnScore=语文
Do While !Eof()     遍历数据表
If 语文!=lnScore    不同分数时
lnScore=语文
lnRank=lnRankIndex  设置下一个名次(相同分数时名次并列)
EndIf
Replace 语文名次 With lnRank
lnRankIndex=lnRankIndex+1 一人一个名次
Skip
EndDo

   
2017-08-03 21:10
chychychy
Rank: 2
等 级:论坛游民
帖 子:126
专家分:18
注 册:2015-4-18
得分:0 
回复 2楼 吹水佬
谢谢,你这一解释几个想不通的地方明白了,我经过测试发现do while 语句速度慢,于是改进了一下如下:另外麻烦请教多条件索引如何建立
INDEX ON 班级-STR(总分,4) TAG px DESCENDING ,这个是按班级和总分实现降序,如何实现班级升序,总分降序的索引,我用了一个笨办法:INDEX ON 年级-STR(1000-总分) TAG px,如何更好

我改进的语句
INDEX on -总分 TO px
mc=1
nzf=0
nrs=1
SCAN
     IF 总分!=nzf
         mc=nrs
         **nzf=总分&&位置在下面也可以
    ENDIF
 REPLACE 总名次 WITH mc
 nrs=nrs+1
 nzf=总分
 ENDSCAN
2017-08-04 15:32
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
班级升序,总分降序:

CREATE CURSOR tt (班级 C(10), 总分 I)
INSERT INTO tt VALUES ("级1", 500)
INSERT INTO tt VALUES ("级2", 200)
INSERT INTO tt VALUES ("级2", 300)
INSERT INTO tt VALUES ("级1", 100)
INSERT INTO tt VALUES ("级2", 400)
SELECT *, -总分 aa FROM tt ORDER BY 班级, aa INTO CURSOR tmp
BROWSE FIELDS 班级, 总分
2017-08-04 16:47
chychychy
Rank: 2
等 级:论坛游民
帖 子:126
专家分:18
注 册:2015-4-18
得分:0 
回复 4楼 吹水佬
谢谢,再请教我在测试按总分提起前200名时,
select top 200 * from temp11 order by 总分 desc into table top200.dbf  在论坛下载安装vf9后运行 只是去了记录的前200,而实际上应该205人,
在vf6下正常,为什么会这样
temp11.rar (11.77 KB)
3.前200名.rar (725 Bytes)


[此贴子已经被作者于2017-8-5 18:46编辑过]

2017-08-05 18:38
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:7 
相关内容看帮助文件

坚守VFP最后的阵地
2017-08-05 18:43
chychychy
Rank: 2
等 级:论坛游民
帖 子:126
专家分:18
注 册:2015-4-18
得分:0 
回复 4楼 吹水佬
谢谢,select 命令太强大了,学了,我这里想生成索引文件方便后面用
2017-08-05 18:43
chychychy
Rank: 2
等 级:论坛游民
帖 子:126
专家分:18
注 册:2015-4-18
得分:0 
回复 6楼 sdta
问到正主了,你定义的变量较长,当然我是新手,一些没太看懂。
2017-08-05 18:59
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:7 
以下是引用chychychy在2017-8-5 18:38:17的发言:

谢谢,再请教我在测试按总分提起前200名时,
select top 200 * from temp11 order by 总分 desc into table top200.dbf  在论坛下载安装vf9后运行 只是去了记录的前200,而实际上应该205人,
在vf6下正常,为什么会这样

VFP9与VFP6的select语法不兼容的。

活到老,学到老! http://www. E-mail:hu-jj@
2017-08-06 11:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-479767-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.100663 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved