| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 668 人关注过本帖, 1 人收藏
标题:表索引后新的记录顺序号函数
只看楼主 加入收藏
igaoyuan
Rank: 2
等 级:论坛游民
帖 子:98
专家分:98
注 册:2022-12-19
结帖率:100%
收藏(1)
已结贴  问题点数:10 回复次数:7 
表索引后新的记录顺序号函数
recno()返回表记录物理记录号,做索引index后记录顺序改变,这时候如果需要获取某一条记录的新顺序号,有对应函数吗?
搜索更多相关主题的帖子: 索引 记录 函数 获取 序号 
2023-01-26 18:19
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9796
专家分:26886
注 册:2012-2-5
收藏
得分:0 
印象中没有专用函数,不要用INDEX索引,可以用SQL SELECT 命令排序,排序后的结果你就可以获得新顺序号了。

坚守VFP最后的阵地
2023-01-26 19:36
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:0 
既然用到index了,顺序号通常不多用,用的是index的关键字。
2023-01-26 19:50
igaoyuan
Rank: 2
等 级:论坛游民
帖 子:98
专家分:98
注 册:2022-12-19
收藏
得分:0 
以前确实没有遇到过索引后新排序的顺序号需求,现在有一个情况就是一个表有4-5个索引,需要知道记录A在不同索引下各自的排名情况,
例:
use mytab order quan1
求记录A在表中排位
use mytab order sales1
求记录A在表中排位
等等...
用sql语句确实可以解决,如果有个函数...想省点事
2023-01-26 20:15
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1059
专家分:2579
注 册:2015-12-30
收藏
得分:10 
做个函数吧,比如:
Function recnindex(filename,记录号)   
&& filename: 已经做索引的数据表文件名
&& 记录号=“记录A”的记录号recn()
local xretu
select &xfilename
xretu = 0
go top
do while !eof() AND recn()#记录号
    xretu = xretu + 1
    skip
enddo
retu xretu

2023-01-26 20:31
igaoyuan
Rank: 2
等 级:论坛游民
帖 子:98
专家分:98
注 册:2022-12-19
收藏
得分:0 
可以了,非常感谢!!!
程序代码:
USE cmcode ALIAS cmcode
SEEK '51121900' ORDER cmcode
rec = RECNO()
? recnindex(rec)
? rec

SEEK '51121900' ORDER name1
rec = RECNO()
? recnindex(rec)
? rec

Function recnindex(rec)           && filename: 已经做索引的数据表文件名, rec记录号=“记录A”的记录号recn()filename,
local xretu
*!*    select &filename
xretu = 0
go top
do while !eof() .AND. recn() # rec        &&记录号
    xretu = xretu + 1
    skip
enddo
retu xretu
2023-01-26 21:05
igaoyuan
Rank: 2
等 级:论坛游民
帖 子:98
专家分:98
注 册:2022-12-19
收藏
得分:0 
回复 5楼 laowan001
感谢!感谢!!
2023-01-26 21:06
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1059
专家分:2579
注 册:2015-12-30
收藏
得分:0 
回复 7楼 igaoyuan
不客气,好使就行
2023-01-26 21:39
快速回复:表索引后新的记录顺序号函数
数据加载中...
 
   



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

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