查询上一记录
skip -1 *相对定位 指针向上移动一条记录
if bof() *测试当前记录指针是否超出第一条记录
go top *绝对定位表的第一条记录
endif
thisform.refresh
查询下一记录
skip 1 *相对定位 指针向下移动一条记录
if eof() *测试当前记录指针是否超出最后一条记录
go bottom *绝对定位表的最后一条记录
endif
thisform.refresh
指针相关函数
BOF()——头函数,测试记录指针是否位于表头(表头时其值为.T.)
EOF()——尾函数,测试记录指针是否位于表尾(表尾时其值为.T.)
RECNO()——记录指针指向的记录的序号(>=1)。
RECC()——表中的记录总数。
说明:刚打开一张表记录指针的情况
表中记录情况 | BOF( ) | RECNO( ) | EOF( ) |
无记录 | .T. | 1 | .T. |
有记录 | .F. | 1 | .F. |
定位命令
定位 | 命令 | 说明 |
绝对定位 | GO TOP|BOTTOM [IN 区号|表别名] GO [RECORD] N [IN 区号|表别名] | *GO与GOTO可互换 * N值超过记录总数会导致出错 |
相对定位 | SKIP [N] [IN 区号|表别名] | *N省略时默认1 * N过大时,指向表尾 * N 过小时,指向表头 |
条件定位 | LOCATE [范围] FOR <条件> CONTINUE *[范围]默认为ALL 其它的三种情况是: Record n、Next n、Rest *指针指向表中符合条件的第一条记录,无匹配记录时指向表尾 | 命令只是定位,不会显示相应记录,可以与DISPLAY配合进行所定位记录的显示 |