VFP命令、函数及程序语句大全<1>
一、VFP常用命令分类表
逗号分割的字符串转数组
类别
命令
建立文件类
CREATEMODIFYCOPYSAVE
数据库操作类
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
程序控制类
DODO WHILE…ENDDOIF…ENDIF
系统设置类
SET TALKSET DEFAULT TO
二、 命令格式
VFP命令一般由命令动词和控制短语构成。一般格式:命令动词[FROM<源文件>][TO<目标文件>][记录范围][FOR/WHILE<条件>][FIELDS<字段名表>] [ ]表示可选,<>表示必选, / 表示或选)
1APPEND FROM C:\RSDA.DBF FOR 基本工资>100 FIELDS 编号,姓名,职称,基本工资。(2COUNT FOR 职称="高工"TO GG
控制短语规定了对数据库操作的限制条件:
1.指向输入输出目标
FROM/TO
APPEND FROMCOPY FILE TO <目标文件>
2.限制记录范围
ALL 所有记录
NEXT<n> 本记录后的第几个记录
RECORD<1> 1个记录
3.选择字段
FIELDS<字段表>选择输入/输出的字段。
4.限制条件
FOR/WHILE<条件>
FOR 基本工资>100 .AND.基本工资<200
三、 命令格式规则
命令的行为单位,一行书写不完,在未尾加上第二行接着写。必须以命令动词开头,动词后的短语顺序不限。命令中大小写字母等效。命令动词和关键字可以只写前4个字符。
不得用命令动词或关键字作为自定义变量、 函数、程序名。
.表结构的操作
1.创建表结构
命令1CREATE [路径][表名]
命令2CREATE [新表名] FROM [旧表名]
命令3COPY STRUCTRUE TO [路径][表名]
2.表结构的显示
命令:LIST STRUCTURE
      DISPLAY STRUCTURE
3.表结构的修改
命令:MODIFY STRUCTURE
作用:显示表文件结构,并允许修改此表的结构
说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
.表文件的打开和关闭
1.打开
命令:USE 表名 [INDEX 索引文件名] [EXCLUSIVE]
2.关闭
命令:USE
.记录指针的定位
1. 绝对定位
命令:GO[TO] n|TOP|BOTTOM
说明: n定位到第n条记录,TOP定位到最上面一条记录,BOTTOM定位到最下端一条记录
2.相对定位
命令:SKIP [+|-]n
说明:它以当前记录为基准前移(-)或后移(+n个记录,不选任选项,则默认记录指针后移一条记录。
.表数据的添加
1.记录的追加
命令:APPEND [BLANK]
APPEND BLANK
2.记录的插入
命令:INSERT [BLANK][BEFORE]
3.用复制方法建新表记录
命令:COPY TO 新表名 [范围][FIELDS 字段表][FOR 条件]
4.从其他表取数据
命令:APPEND FROM 表名 [FOR 条件]
.表记录的显示
1.浏览显示
命令:BROWSE [FIELDS 字段表][FOR 条件]
说明:此命令的结果以浏览窗口的形式出现,具有修改功能。
2.显示输出
命令:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>]
说明:(1)命令带OFF参数表示不显示记录号
2)范围指定对哪些记录进行操作,(范围包括:RECORD n :第几号记录;NEXT n 当前记录开始的几个记录;REST 自当前记录开始至文件末尾的所有记录;ALL 所有的记录。不选范围则隐含范围为ALL
3)字段名表指在结果中需要出现的字段名,字段名与字段名之间用逗号分隔。不带时指显示所有字段。
4WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查;FOR后的条件查所有满足条件的记录。
5TO PRINTTO FILE <文件>分别表示将显示结果在打印机上打印出来和将显示结果输出到文件。
6DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示,并且在该命令中,如果省略范围仅显示当前记录。LIST不分屏,如果省略范围显示所有记录。
.修改记录内容
1 编辑或修改的特定记录
命令:CHANG|EDIT [范围][[FIELDS]字段表][FOR 条件] [WHILE <条件>]
2.成批自动替换记录
命令:REPLACE [范围] 字段 WITH 表达式 [FOR 条件]
.删除记录
1.逻辑删除
命令:DELETE [范围][FOR 条件] (打删除标记)
2.物理删除
命令: PACK (删除有删除标记的记录)
      ZAP (删除所有记录)
.数据表排序
1.物理排序,生成一个新的表文件。
命令:SORT TO 新表名 ON 字段名 [/A][/D] [范围][FOR 条件]
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 标记
.查记录
1.顺序查
命令:LOCATE FOR 条件 [范围]
继续查命令:CONTINUE
2.索引查
说明:根据当前的索引来查记录。在使用命令前先要按准备查的字段建立索引或排序
命令:FIND 字符串
      SEEK 表达式
      FOUND()检查到否
3.查函数
说明: 在使用命令前先要按准备查的字段建立索引或排序
函数:SEEK()
.统计数据表记录个数
命令:COUNT [范围][FOR 条件][TO 变量]
十一.数据表数值字段的求和
命令:SUM [范围][FOR 条件][TO 变量]
十二.算术平均值的计算
命令:AVERAGE [范围][FOR 条件][TO 变量]
十三.多功能计算
命令:CALCULATE 表达式 [范围][FOR 条件][TO 变量]
.数值运算函数
函数
操作
结果
SQRT(x)
求平方根
SQRT9
3
INT(x)
取整数
INT3.14
3
ROUND(x)
四舍五入
ROUND(3.14159,4)
3.1416
MOD(x,y)
X除以Y的余数
MOD(25,4)
1
MAX(x,y)
XY中的最大值
MAX(7,8)
8
MIN(x,y)
XY中的最小值
MIN(1,2,3)
1
.字符中操作函数
函数名
操作
结果
UPPERS
小写字母
UPPER(abc)
ABC
LOWERS
大写字母
LOWER(ACD)
acd
LENS
求字符串的长度
LEN("中国1")
7
AT(S1,S2
在字符串S2,字符串S1
AT("H","CHINA")
2
SUBSTRS,I,N
S字符串中的第I个字符起取N个字符
SUBSTR('TECHNOLO',3,3)
CHN
LEFTSN
从字符串S左边取N个字符
LEFT中国人4
中国
RIGHTSN
从字符串S右边取N个字符
S=‘12345’
RIGHTS3
345
SPACEN
生成N个空格
"合计"+SPACE(2)+"123"
合计123
TRIMS
消除字符串尾部空格
TRIM("姓名    ")
姓名
ALLTRIS
消除字符串中所有空格
ALLTRIM"      "
李丽
STUFFS1,N1,N2,S2)
用字符串S2替换S1中第N1个字符起的N2个字符
STUFF"NOW",21,"E"
NEW
&
宏替换
P=“G2”
USE &P
USE G2
.日期和时间函数
函数名
操作
结果
DATE()
求当前日期
DATE()
2001/11/12
DATETIME()
求当前日期和时间
DATETIME()
2001/11/12/02233am
YEARD
求年份
YEAR(DATE())
2001
MONTHD
求月份(数值)
MONTH(DATETIME())
11
CMONTH(D
求月份(字符)
MONTH(DATETIME())
Novenber
DAYD
求日期
DAY(DATE())
12
DOWD
求星期几(数值)
DOWDATE())
1
CDOWD
求星期几(英文)
CDOWDATE())
sunday
TIMED
求当前时间
TIMEDATE())
10:20:38am
.数据类型转换函数
函数名
操作
结果
ASCS
求第一个字符串的ASCII
ASC("what")
87
CHRN
ASCII码的字符
CHR(87)
w
STR(R,L,D)
数值转换成字符,L为长度,D为小数位数
X=3.1415
STR(X,6,2)
3.14
VALS
字符串转换为数值
VAL("123")
123.00
CTODS
字符串转日期
CTOD('11/01/2002')
11/01/2002
DTOCD
日期转换成字符串
DTOC(DATE())
11/01/2002
DTOSD
把日期转成年月日式的字符串
DTOS(DATE())
20021101
CTOTC
字符串转成日期时间型
CTOT(11/01/2002 10:30:50am)
11/01/2002 10:30:50am
DTOTD
日期型转为日期时间型
DTOT(DATE())
11/25/2001 00:00:01am
TTOCT
日期时间型转为字符型
TTOC(DATETIME())
11/25/2001 00:00:01am
TTODT
日期时间型转为日期型
TTOD(DATETIME())
11/25/2001
IIF(LE,E1,E2
逻辑判断
IIF(A>0,"YES","
.检测函数

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。