1、内存变量 ①STORE <表达式> TO <内存变量表> 命令功能:计算<表达式>的值并赋值给各个内存变量。 ② <内存变量> = <表达式> 命令功能:计算<表达式>的值并赋值给指定内存变量。③DISPLAY|LIST MEMORY [LIKE <通配符>] [TO PRINTER|TO FILE <文本文件名>] 命令功能:显示指定变量的信息。 ④SAVE TO <变量文件名> [ALL LIKE <通配符> | ALL EXCEPT <通配符> ] 命令功能:将指定变量的信息保存到指定的变量文件(*.MEM)中。 时间类 1、SET
2、 MARK TO 【日期分隔符】
设置日期数据分隔符样式
2、SET DATE TO YMD
设置日期数据输出打印时的表现形式
3、SET CENTURY ON|OFF
设置世纪标示出现否
10.求余数函数 MOD( )
【格式】MOD(
3、
12.π函数 PI( )
【格式】PI( )
【功能】返回常量π的近似值
13.正弦函数 SIN( )
【格式】SIN(
4、回一个绝对值很大的数。
16.反正弦函数ASIN( )
【格式】ASIN(
5、
数值函数
1.取绝对值函数 ABS( )和符号函数 SIGN( )
【格式】ABS(
6、上界函数 CEILING( )
【格式】CEILING(
7、
8.平方根函数 SQRT( )
【格式】SQRT(
8、表结构修改后,为了给一个反悔的机会,VF 自动将原表文件( .DBF)和备注文件( .FTP)备份为主文件名相同,扩展名分别为( .BAK)和( .TBK)的新文件。常用转换函数:
字符日期型转换函数 CTOD( )
【格式】CTOD(
9、<工作区号> | <别名>]) 【功能】返回指定工作区中表的当前记录的记录号。对于空表返回值为 1。 7.当前记录逻辑删除标志测试函数 DELETED( ) 【格式】DELETED([<工作区号> | <别名>]) 【功能】测试指定工作区中表的当前记录是否被逻辑删除。如果有逻辑删除标记,函数返回真(.T.),否则为假(.F.)。 8.记录数函数 RECCOUNT( ) 【格式】RECCOUNT ([<工作区号> | <别名>]) 【功能】返回指定工作区中表的记录个数。如果工作区中没有打开表则返回0。 9.记录大小测试函数 RECSIZE( )
10、 【格式】RECSIZE( [<工作区号> | <别名>] )
【功能】返回指定工作区中表的记录总长度。如果工作区中没有打开表则返回0。
常用测试函数
1.数据类型函数 TYPE( )
【格式】TYPE(
11、逻辑真(.T.) 值,否则为逻辑假(.F.)值。
3.条件测试函数IIF( )
【格式】IIF(
12、作区号> | <别名>])
【功能】测试记录指针是否移到表结束处。如果记录指针指向表尾记录,函数返回真(.T.),否则为假(.F.)。
10.值域测试函数 BETWEEN( )
【格式】BETWEEN(表达式A,表达式B,表达式C)
【功能】判断一个表达式的值是否介于另两个表达式值之间。当表达式A值大于等于表达式B的值,且小于等于表达式C的值时,函数值为逻辑值真,否则为假。
空格函数
SPACE( )
【格式】SPACE ( 13、xp1>, 14、函数
【格式】1) LTRIM( 15、2>])
【功能】1)返回从cExp串中第一个字符开始,截取nExp个字符的子串。
2)返回从cExp串中右边第一个字符开始,截取nExp个字符的子串。
3)返回从串cExp中第nExp1个字符开始,截取nExp2个字符的子串。
表结构修改
MODIFY STRUCTURE
表结构修改后,为了给一个反悔的机会,VF 自动将原表文件( .DBF)和备注文件( .FTP)备份为主文件名相同,扩展名分别为( .BAK)和( .TBK)的新文件。
记录的基本操作
1、追加记录
APPEND [BLANK]
2.从其他表追加
APPEND F 16、ROM <表文件名>
3.显示记录
逐条显示:LIST
只显示一条:DISPLAY
修改记录
REPLACE 〈字段〉WITH 〈表达式〉
记录定位
1. 绝对定位
GO | GOTO 〈记录号|TOP|BOTTOM〉
TOP 记录指针到文件的顶部
BOTTOM 记录指针到文件的底部
记录号 记录指针到指定记录号
2. 相对定位
SKIP 〈数值表达式〉
3. 定位条件
LOCATE [〈范围〉] FOR 〈逻辑表达式〉 CONTINUE && 继续
插入记录
INSERT [BEFORE 17、] [BLANK]
其中:有 BEFORE 插入在当前记录前
有 BLANK 插入空记录
删除记录
DELETE [〈范围〉] FOR 〈逻辑表达式〉
1、 删除标记 占一位
2、是否容许被DELETE逻辑删除的记录参与操作
SET DELETE ON | OFF
PACK 物理删除所有带有删除标记的记录
ZAP 物理删除所有记录 只留下表结构
恢复记录
RECALL [〈范围〉] FOR 〈逻辑表达式〉
只能恢复被逻辑删除的记录
表的复制
复制表的结构
COPY STRUCTURE T 18、O 〈文件名〉
[ FIELDS 〈字段名表〉]
功能:仅复制当前表的结构数据到指定表中
FIELDS 〈字段名表〉 仅复制指定字段
复制表
COPY TO〈文件名〉[ FIELDS〈字段名表〉]
复制当前表的结构数据和表记录数据到指定表中
APPEND FROM 〈文件名〉
从其他文件向当前表添加数据
表的排序
SORT TO〈新表文件名〉ON 〈字段名1〉[/A] [/C] [/D] 〈字段名2〉[/A] [/C] [/D] ……[〈范围〉] [FOR〈条件〉][WHILE〈条件〉] [FIELDS 〈字段名表〉]
用于排 19、序的字段名称为关键字,其数据类型只能是 C、N、D 。[/A] 递增顺序 [/D] 递减顺序 [/C] 字母不分大小写,无则默认递增顺序。 [FIELDS 〈字段名表〉] 有则选其中几项,无则默认全选。
表的索引
INDEX TO 〈索引文件名〉ON 〈关键字表达式〉 [FOR〈条件〉]
关键字表达式可以是一个字段名,也可以是包含多个字段名的表达式。表达式只能是 C、N、D 类型,并且必须转换成同一数据类型,然后它们之间用 “ + ” 连接。
打开数据表文件索引的方法
USE <数据库表文件名> INDEX <索引文件名>
FIND <字 20、符表达式> | <数字>
在索引的文件中查询与字符表达式、数字相匹配的记录
SEEK <表达式>
在索引的文件中查询与表达式相匹配的记录
1.统计记录数
【格式】
COUNT [<范围>] [FOR <逻辑表达式1>]
[WHILE <逻辑表达式2>] [TO <内存变量>]
【功能】用于统计当前表中指定范围内满足条件的记录个数。
【说明】除非指定了<范围>或 FOR/WHILE <条件>,否则将计算所有记录个数,如选择了 TO <内存变量>,则可将计算结果保存在<内存变量>中,否则统计结果只在屏幕上显示。
若选择了SET TALK OFF将不显示统 21、计结果。
若选择了SET DELETE OFF,则加删除标志的记录将被计算。
2.求和
【格式】
SUM [<表达式表>] [<范围>] [FOR <条件 >] [WHILE <条件>] [TO <内存变量表> | TO ARRAY <数组>]
【功能】对指定范围内、满足条件的记录按指定的各个表达式分别求和。
【说明】缺省范围、条件表示全部记录。
缺省数值型表达式表,表示对库中所有数值型字段求和。
数值型表达式表中表达式的个数应与内存变量的个数一致。
3. 求平均值
【格式】
AVERAGE [<表达式表>] [<范围>] [FOR <条件 22、 >] [WHILE <条件>] [TO <内存变量表> | TO ARRAY <数组>]
【功能】对指定范围内、满足条件的记录按指定的各个表达式分别求平均值。
【说明】缺省范围、条件表示全部记录。
缺省数值型表达式表,表示对库中所有数值型字段求均值。
数值型表达式表中表达式的个数应与内存变量的个数一致。
4.综合统计函数的计算
CALCULATE [<表达式表>] [<范围>] [FOR <条件 >] [WHILE <条件>] [TO <内存变量表> | TO ARRAY <数组>]
【功能】对当前表文件中指定范围内满足条件的记录进行指定的计算工作。 23、
<表达式>中至少应包含一种函数:
AVG(<数值表达式>):求数值表达式的平均值
CNT():统计表中指定范围内满足条件的记录个数
MAX(<表达式>):求表达式的最大值,表达式可以是数值、日期或字符型。
MIN(<表达式>):求表达式的最小值,表达式可以是数值、日期或字符型。
SUM(<数值表达式>):求表达式之和
NPV(<数值表达式1>,<数值表达式2>,[<数值表达式3>]::求数值表达式得净现值
STF(<数值表达式>):求数值表达式的标准偏差
VAR(<数值表达式>):求数值表达式的均方差
运算符
功能
表达式举例
运算结果
+
串1+串2:两串 24、顺序相连接
’张三 ‘ + ’先生’
’张三 先生‘
-
串1-串2:串1尾空格移到串2尾后再顺序相连接
’张三 ‘ - ’先生’
’张三先生 ‘
$
串1$串2:串1是否为串2子串
‘1234’$ ‘a12345’
‘1234’$ ‘34512’
.T.
.F.
运算符
功 能
优先级别
( )
圆括号
最高
|
|
最低
.NOT.或!
逻辑非
.AND.
逻辑与
.OR.
逻辑或
运算符
功 能
表 达 式 举 例
结果
<
小于
15 < 4*6
.T.
>
大于
‘A’ > 25、‘1’
.T.
=
等于
2+4 = 3*5
.F.
< >、#、!=
不等于
5 < > -10
.T.
<=
小于或等于
'abc' <= 'AB'
.F.
>=
大于或等于
{02-10-02}>={02/01/02}
.T.
==
字符串恒相同
‘abc’==’abcabc’
.F.
运算符
功 能
表 达 式 举 例
运算结果
优先级别
( )
圆括号
(2-5)*(3+2)
-15
最高
|
|
|
最低
-
取相反数
-(3-8)
5
**、^
乘幂
2**5、3^2
32、9
*、/
乘、除
2*10、25/5
20、5
%
取余数
20%5
0
+、-
加、减
36+19、29-47
55、-18






