(2)记录的定位方式
绝对定位:是指把指针移到指定的位置。
相对定位:
是指把指针从当前位置开始,相对于当前记录向前或向后移动若干个记录位置。
条件定位:
是指按一定的条件在整张表或表的某个指定范围中查找符合该条件的记录。
通过菜单进行定位
从表菜单中选择转到记录:记录号——实现绝对定位
定位… ——实现条件定位
通过命令进行定位
记录的定位
命令格式 |
功能 |
备注 | |
绝对定位 |
GO TOP |
将记录指针定位到表文件之首 |
或 GOTO TOP |
GO BOTTOM |
将记录指针定位到表文件之尾 |
或GOTO BOTTOM | |
GO <n> |
将记录指针定位到指定的n号记录 |
| |
相对定位 |
SKIP <n> |
将记录指针从当前记录向上或向下移动n个 |
n为正值则向下移动
n为负值则向上移动 无n向下移动 1个 |
条件定位 |
LOCATE FOR <条件> [ 范围 ] |
按顺序搜索表, 直到找到满足指定条件的第一个记录 |
默认范围是所有记录 |
4. 记录的修改和删除
一张表用非只读方式打开后,即可通过菜单在浏览窗口(或编辑窗口)中或从命令窗口中用命令直接对其记录进行编辑、修改和删除。
(1) 菜单方式
修改记录:
从表菜单中选择替换字段… → 在替换字段对话框中选择待替换的字段并构造出替换表达式及替换条件 → 替换。
删除记录:
从表菜单中选择删除记录 → 在删除对话框中选择删除范围和删除条件 → 单击删除按钮 → 从表菜单中选择彻底删除 → 在消息框中单击是。
删除记录包括两步: 标记要删除的记录 和 彻底删除带删除标记的记录
恢复带删除标记的记录:
从表菜单中选择恢复记录 → 在恢复记录对话框中选择作用范围和条件 → 单击恢复记录按钮。
(2) SQL命令方式 (表事先可以不打开,适用于编程工作方式)
修改记录: 用 UPDATE-SQL 命令。
命令格式: UPDATE <表名> SET 字段1 = 表达式1 [,字段2 = 表达式2 …];
WHERE 条件表达式
例: UPDATE xscj SET cj = cj*1.05 WHERE cj>80
删除记录: 用 DELETE-SQL 命令。
命令格式: DELETE FROM <表名> [WHERE 条件表达式]
例: DELETE FROM xscj WHERE cj<60
(3) 在命令窗口中用VFP命令:
命令格式 |
功能 |
备注 | |
插入 |
INSERT [BLANK][BEFORE] |
在当前表的指定位置上插入一个空记录或若干新记录 |
BLANK :在当前记录后插入一个空记录
BEFORE :在当前记录之前插入若干新记录 |
修改 |
CHANGE [FIELDS 字段名1,…][FOR 条件] [LEDIT] [REDIT] |
在编辑窗口显示要修改的字段 |
LEDIT:调出编辑窗口
REDIT:调出浏览窗口 |
替换 |
REPLACE 字段名1 WITH 表达式1 [ADDITIVE][, 字段名2 WITH 表达式2[ADDITIVE] …] [范围] [FOR 条件] |
把字段值用指定的表达式进行替换。如: 工资单中给某些人长工资 |
默认范围是当前记录
ADDITIVE:把备注字段的替换内容添加在原备注内容的后面 |
删除 |
DELETE [ 范围 ][FOR 条件] |
对当前表中指定范围内满足条件的记录加上删除标记 * |
默认范围是当前记录 |
PACK [MEMO][DBF] |
将所有带删除标记的记录从表中抹去(不能再恢复) |
DBF:不影响备注文件
MEMO:从备注文件中删除未使用空间 | |
ZAP |
删除当前表中所有记录,只留下表的结构 |
相当于 DELETE ALL + PACK | |
恢复 |
RECALL [ 范围] [FOR 条件] |
取消当前表中指定记录上的删除标记 |
默认范围是当前记录 |