R E C N O 函 数
返回当前表或指定表中的当前记录号
语 法
RECNO([ n W orkArea | cTableAlia s])
返 值 类 型
数值型
参 数 描 述
n W o rkArea
指 定 表 所 在 的 工 作 区 编 号 如 果 在 指 定 的 工 作 区 中 没 有 打 开 的 表 RECNO
函 数 返 回 0
cTableAlias
指 定 表 别 名
说 明
当前记录就是记录指针所指的记录
对于在表缓冲区中追加的记录 RECNO 返回负记录编号
如果记录指针所指的位置超出了表中的最后一个记录 那么 RECNO 函数返回一个比表中记录数目大 1 的数值 如果记录指针所指的位置在表中第一个记录之前或者表中没有记录 那 么 RECNO 函数返回 1 如果表中没有记录 EOF 函数总是返回 真 (.T.)
执行不带可选参数 nWorkArea 或 cTableAlias 的 RECNO 函数 将返回当前所选工作区中表的当前记录号
如果在一个经过索引的表中发出 SEEK 命令失败 那么可以将 nWorkArea 指定为 0
使用 软寻找 (softseek) 方法来返回最接近匹配记录的记录号 如果不能找到接近的匹配记录 RECNO(0) 函数返回 0 如果没有找到接近的匹配记录而发出 GO RECNO(0) 命令 那么 Visual FoxPro 将产生错误信息
示 例
下面的 example 在 customer 表中搜索一个公司的名称 如果没有找到该公司的名称就使用 RECNO(0) 返回最接近匹配的公司名称
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata') USE customer && 打开 customer 表
SET ORDER TO company
SEEK 'Ernst' IF FOUND( )
DISPLAY company, contact ELSE
GOTO 0
CLEAR
? 'Closest matching company is ' + company
? 'Record number: ' + ALLT RIM(STR( )) ENDIF
请 参 阅
GO | GOTO, R E C C O U N T ( ) , RECSIZE( ) , SEEK , SKIP