建立文件类
CREATE,MODIFY,COPY,SAVE等
数据库 *** 作类
USE,CLOSE,COPY,MODIFY STRUCTURE等
数据编辑类
BROWSE,EDIT,CHANG,REPLACE,UPDATE等
记录指针 *** 作类
GOTO,LOCATE,SEEK,FIND,SKIP等
记录 *** 作类
APPEND,DELETE,INSERT等
数据显示类
BROWSE,LIST,DISPLAY等
数据统计类
SUM,COUNT,AVERAGE,TOTAL等
存变量 *** 作类
ACCEPT,INPUT,READ,SAVE等
程序控制类
DO,DO WHILE…ENDDO,IF…ENDIF等
系统设置类
SET TALK,SET DEFAULT TO等
¨ 命令格式
VFP命令一般由命令动词和控制短语构成。
一般格式:
命令动词[FROM<源文件>][TO<目标文件>][记录范围][FOR/WHILE<条件>]
[FIELDS<字段名表>]
[ ]表示可选,<>表示必选, / 表示或选
例如:
(1)APPEND FROM C:\RSDA.DBF FOR 基本工资>100 FIELDS 编号,姓名,职称,基本工资。
从C:\RSDA.DBF 表中把基本工资大于100元的记录添加到当前表添加字段为:编号,姓名,职称,基本工资。
(2)COUNT FOR 职称="高工"TO GG 统计高工的记录数到内存变量GG。
控制短语规定了对数据库 *** 作的限制条件:
1.指向输入输出目标
FROM/TO
APPEND FROM,COPY FILE TO <目标文件>
2.限制记录范围(SCOPE)
ALL 所有记录
NEXT<n>本记录后的第几个记录
RECORD<1>第1个记录
REST 当前记录之后所有记录
3.选择字段
FIELDS<字段表>选择输入/输出的字段。
4.限制条件
FOR/WHILE<条件>
FOR 基本工资>100 .AND.基本工资<200
¨ 命令格式规则
命令的行为单位,一行书让核盯写不完,在未尾加上“;”第二行接着写。
必须以命令动词开头,动词后的短语顺序不限。
命令中大小写字母等效。
命令动词和关键字可以只写前4个字符。
不得用命令动词或关键字作为自定义变量、 函数、程序名。
一.表结构的 *** 作
1.创建表结坦和构
命令1:CREATE [路径][表名]
例子:在A盘创建GZ2数据表。
CREATE A:GZ2
命令2:CREATE [新表名] FROM [旧表名]
例子:在A盘由GZ1创建GZ3数据表。
CREATE A:GZ3 FROM A:GZ1
命令3:COPY STRUCTRUE TO [路径][表名]
例子:在D盘生成一个与正在使用的表结构相同的新表文件MY
COPY STRUCTRUE TO D:\MY
2.表结构的显示
命令:LIST STRUCTURE
DISPLAY STRUCTURE
例子:显示当前数据表在结构。
LIST STRUCTURE
3.表结构的修改
命令:MODIFY STRUCTURE
作用:显示表文件结构,并允许修改此表的结构
说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
例子:修改当前数据表的结构。
MODIFY STRUCTURE
二.表文件的打开和关闭
1.打开
命令:USE 表名 [INDEX 索引文件名] [EXCLUSIVE]
例子:打开A盘GZ1数据表。
USE A:\GZ1
例子:以独占方式打开当前表文件XX
USE XX EXCLUSIVE
2.关闭
命令:USE
例子:关闭当前打开的表。
USE
三.记录指针的定位
1. 绝对定位
命令:GO[TO] n|TOP|BOTTOM
说明: n定位到第n条记录,TOP定位到最上面一条记录,BOTTOM定位到最下端一条记录
2.相对定位
命令:SKIP [+|-]n
说明:它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一条记录。
四.表数据的添加
1.记录的追加
命令:APPEND [BLANK]
例子:向当前数据表尾部追加记录。
APPEND
例子:向当前数据表尾部追加一条空记录。
APPEND BLANK
2.记录的插入
命令:INSERT [BLANK][BEFORE]
例子:在当前记录后插入一条空记录。
INSERT BLANK
例子:在第氏码3条记录前插入一条记录。
GO 3
INSERT BEFORE
3.用复制方法建新表记录
命令:COPY TO 新表名 [范围][FIELDS 字段表][FOR 条件]
例子:把当前表中“应发合计”大于1000元的记录复制到新数据表GZ2中。
COPY TO A:GZ2 FOR 应发合计>1000
4.从其他表取数据
命令:APPEND FROM 表名 [FOR 条件]
例子:把GZ1表中“应发合计”大于1000的记录复制到当前的表后面。
APPEND FROM GZ1 FOR 应发合计>1000
五.表记录的显示
1.浏览显示
命令:BROWSE [FIELDS 字段表][FOR 条件]
例子:显示当前表中“应发合计”大于1000元的记录的职工编号、姓名、应发合计三个字段。
BROWSE FIELDS 职工编号,姓名,应发合计 FOR 应发合计>1000
说明:此命令的结果以浏览窗口的形式出现,具有修改功能。
2.显示输出
命令:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表>[WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>]
说明:(1)命令带OFF参数表示不显示记录号
(2)范围指定对哪些记录进行 *** 作,(范围包括:RECORD n :第几号记录;NEXT n: 当前记录开始的几个记录;REST: 自当前记录开始至文件末尾的所有记录;ALL 所有的记录。不选范围则隐含范围为ALL)
(3)字段名表指在结果中需要出现的字段名,字段名与字段名之间用逗号分隔。不带时指显示所有字段。
(4)WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的条件查找所有满足条件的记录。
(5)TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上打印出来和将显示结果输出到文件。
(6)DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示,并且在该命令中,如果省略范围仅显示当前记录。LIST不分屏,如果省略范围显示所有记录。
六.修改记录内容
1. 编辑或修改的特定记录
命令:CHANG|EDIT [范围][[FIELDS]字段表][FOR 条件] [WHILE <条件>]
例子:修改第五条记录
CHANGE|EDIT RECORD 5
2.成批自动替换记录
命令:REPLACE [范围] 字段 WITH 表达式 [FOR 条件]
例子:计算各记录“应发合计”字段的值。
REPLACE ALL 应发合计 WITH 职务工资+岗位津贴+保留奖金+保留津贴
七.删除记录
1.逻辑删除
命令:DELETE [范围][FOR 条件] (打删除标记)
2.物理删除
命令: PACK (删除有删除标记的记录)
ZAP (删除所有记录)
例子:删除“职工编号”空白的记录。
DELETE ALL FOR 职工编号=""
PACK
八.数据表排序
1.物理排序,生成一个新的表文件。
命令:SORT TO 新表名 ON 字段名 [/A][/D] [范围][FOR 条件]
例子:把当前表中记录按“应发合计”从大到小重新排序。
SORT TO A:GZ3 ON 应发合计 /D
2.逻辑排序,生成一个索引文件。
(一)标准索引文件:IDX
命令:
新建索引:INDEX ON 字段名表达式 TO 索引文件名
同时打开:USE 表名 INDEX 索引文件名
之后打开:SET INDEX TO 索引文件名
重新索引:INDEX ON 字段名表达式 TO 索引文件名
关闭索引:SET INDEX TO
例子:对当前数据表以“应发合计”从大到小排列。
INDEX ON -应发合计 TO GZ
(二)复合索引文件:CDX
命令:
新建索引:INDEX ON 字段名 TAG 标记 [ASCEDING|DESCENDING]
同时打开:USE 表名 ORDER [TAG] 标记
改变索引:SET ORDER TO [TAG] 标记
重新索引:INDEX ON 字段名 TAG 标记
关闭索引:SET ORDER TO
删除索引:DELETE TAG 标记
例子:对当前数据表以“应发合计”从大到小排列。
INDEX ON 应发合计 TAG HJ DESC
九.查找记录
1.顺序查找
命令:LOCATE FOR 条件 [范围]
继续查找命令:CONTINUE
例子:在当前的表中查找姓“张”的记录。
LOCATE FOR 姓名="张"
2.索引查找
说明:根据当前的索引来查找记录。在使用命令前先要按准备查找的字段建立索引或排序
命令:FIND 字符串
SEEK 表达式
用FOUND()检查找到否
例子:在当前的表中查找姓“张”的记录。
FIND 张
SEEK "张"
3.查找函数
说明: 在使用命令前先要按准备查找的字段建立索引或排序
函数:SEEK()
例子:在当前的表中查找姓“张”的记录。
SEEK("张")
十.统计数据表记录个数
命令:COUNT [范围][FOR 条件][TO 变量]
例子:统计当前表中“应发合计”大于1000元的人数。
COUNT FOR 应发合计>1000
十一.数据表数值字段的求和
命令:SUM [范围][FOR 条件][TO 变量]
例子:统计当前表中“应发合计”字段的总和。
SUM 应发合计
十二.算术平均值的计算
命令:AVERAGE [范围][FOR 条件][TO 变量]
例子:统计当前表中“应发合计”字段的平均值。
AVERAGE 应发合计
十三.多功能计算
命令:CALCULATE 表达式 [范围][FOR 条件][TO 变量]
例子:分别统计当前表中“应发合计”字段的人数、总和、平均值。
CALCULATE CNT(应发合计),SUM(应发合计),AVG(应发合计)
对表记录的删除、修改和定位 *** 作置删除标记的命令(逻辑删除标记)
格式:Delete [For lexpressionl]
一、恢复记录的命令(被逻辑删除标记可以的Recall恢复)
格式:Recall [For lexpressionl]
二、物理删除有标记的记录(一再删除就不在再恢复)
格式:Pack
三、物理删除表中的全部记录(删除当前表中的所有记录,表不删除)
格式:Zap
四、用Replace命令直接修改表记录
格式:Replace [Scope][For<条件>]<F1 with E1>[<F2 with E2>、、、、、、]
如:将所有是女性别的加100元工资,Replace all for 性别=’女’工资with工资+100
五、显示记录命令
格式:List/Display [ [fields]fieldlist][For lexpressionl][Off][To
Printer[Prompt] | To File filemame]
Fieldlist是用逗号隔开的字段名列表,lexpressionl是条件表达式, 用For指定条件则显示满足条件的记录,To Printer说明将结果输送到打印拦弯机,如果用Prompt则在打印之前回d出一个打印设置对话框。To File说明将结果输送到文件,filemame是文件名。
六、用Go To(Go)定位
格式:Go necordumber | Top | Bottom
其中necordumber是记录号,Top是表头,当不使用索引时的记录号为1的记录,使用拦誉的是在简衡段记录号1的前面,Bottom是表尾,和Top的作用相反。
七、用Skip命令定位
格式:Skip [nrecords]
其中nrecords可以是正或负整数(默认1)为正时向后移动,为负时,反之。
八、用Locate命令定位
格式:Locate For lexpressionl
其中lexpressionl是查询或定位的表达式,如果没有满足条件的记录则指针指向文件结束的位置。如果要使时针指向下一条满足Locate条件的记录,使用Continue命令,为了判别它们是否找到了满足条件的记录,可使用Found函数,如果满足,函数返回为.T. 否则为.F.。
Locate命令的结构:
Locate For lexpressionl
Do while Found() //处理、、、、、、
Continue
Enddo
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)