命令: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(应发合计)
VFP命令、函数及程序语句大全(2)
一.数值运算函数
函数 SQRT(x) INT(x) ROUND(x) MOD(x,y) MAX(x,y) MIN(x,y)
二.字符中操作函数
函数名 UPPER(S) LOWER(S) LEN(S) AT(S1,S2) SUBSTR(S,I,N) LEFT(S,N) RIGHT(S,N) SPACE(N) TRIM(S) ALLTRI(S) 小写字母 大写字母 求字符串的长度 在字符串S2,找字符串S1 在S字符串中的第I个字符起取N个字符 从字符串S左边取N个字符 从字符串S右边取N个字符 生成N个空格 消除字符串尾部空格 消除字符串中所有空格 操作 UPPER(abc) LOWER(ACD) LEN(\中国1号\) AT(\) SUBSTR('TECHNOLO',3,3) LEFT(“中国人”,4) S=‘12345’ RIGHT(S,3) \合计\SPACE(2)+\TRIM(\姓名 \) 例 结果 ABC acd 7 2 CHN 中国 345 合计123 姓名 求平方根 取整数 四舍五入 求X除以Y的余数 求X,Y中的最大值 求X,Y中的最小值 操作 例 SQRT(9) INT(3.14) ROUND(3.14159,4) MOD(25,4) MAX(7,8) MIN(1,2,3) 结果 3 3 3.1416 1 8 1 ALLTRIM(\李 丽\) 李丽 NEW 用字符串S2替换S1中第N1个字符STUFF(S1,N1,N2,S2) STUFF(\,1,\) 起的N2个字符 & 宏替换 P=“G2” USE &P USE G2 三.日期和时间函数
函数名 DATE() DATETIME() YEAR(D) MONTH(D) CMONTH(D) DAY(D) DOW(D) CDOW(D) TIME(D)
四.数据类型转换函数 函数名 ASC(S) CHR(N) STR(R,L,D) VAL(S) CTOD(S) DTOC(D) DTOS(D) CTOT(C) 操作 求当前日期 DATE() 例 结果 2001/11/12 2001/11/12/0:22:33am 2001 11 Novenber 12 1 sunday 10:20:38am 求当前日期和时间 DATETIME() 求年份 求月份(数值) 求月份(字符) 求日期 YEAR(DATE()) MONTH(DATETIME()) MONTH(DATETIME()) DAY(DATE()) 求星期几(数值) DOW(DATE()) 求星期几(英文) CDOW(DATE()) 求当前时间 TIME(DATE()) 操作 求第一个字符串的ASCII码 求ASCII码的字符 例 ASC(\) CHR(87) 结果 87 w 3.14 123.00 11/01/2002 11/01/2002 20021101 11/01/2002 10:30:50am 11/25/2001 00:00:01am 11/25/2001 00:00:01am 11/25/2001 YES 数值转换成字符,L为长度,D为小数X=3.1415 字数 字符串转换为数值 字符串转日期 日期转换成字符串 把日期转成年月日式的字符串 字符串转成日期时间型 STR(X,6,2) VAL(\) CTOD('11/01/2002') DTOC(DATE()) DTOS(DATE()) CTOT(11/01/2002 10:30:50am) DTOT(DATE()) DTOT(D) 日期型转为日期时间型 TTOC(T) TTOD(T) IIF(LE,E1,E2) 日期时间型转为字符型 日期时间型转为日期型 逻辑判断 TTOC(DATETIME()) TTOD(DATETIME()) IIF(A>0,\)
五.检测函数
函数名 RECNO() RECCOUNT() BOF() EOF() FOUND() ROW() COL() SYS(N)
VFP命令、函数及程序语句大全(3)
VFP提供一些简单的程序设计语言命令, 包括赋值语句、控制语句、设置命令等,我们可根据某种功能的需要,利用这些命令及数据库操作的有关命令构成语句,分行存在文件中(称为命令文件,
操作 检测当前记录号 检测当前记录数 开始记录 最后记录 返回查找结果 返回当前行坐标 返回当前列坐标 返回系统状态 例 RECNO() RECCOUNT() BOF() EOF() FOUND() ROW() COL() SYS(13) 结果 1 12 1 12 .T. 1 1 联机状态