| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1993 人关注过本帖
标题:请教语句含义
只看楼主 加入收藏
chychychy
Rank: 2
等 级:论坛游民
帖 子:285
专家分:98
注 册: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
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册: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
等 级:论坛游民
帖 子:285
专家分:98
注 册: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
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册: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
等 级:论坛游民
帖 子:285
专家分:98
注 册: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
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:7 
相关内容看帮助文件

坚守VFP最后的阵地
2017-08-05 18:43
chychychy
Rank: 2
等 级:论坛游民
帖 子:285
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 4楼 吹水佬
谢谢,select 命令太强大了,学了,我这里想生成索引文件方便后面用
2017-08-05 18:43
chychychy
Rank: 2
等 级:论坛游民
帖 子:285
专家分:98
注 册:2015-4-18
收藏
得分:0 
回复 6楼 sdta
问到正主了,你定义的变量较长,当然我是新手,一些没太看懂。
2017-08-05 18:59
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册: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.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2017-08-06 11:19
快速回复:请教语句含义
数据加载中...
 
   



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

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