1. VF中的TOTAL命令是什么意思
VF中的TOTAL命令是为计算当前选定表中的数字字段的总数。
TOTAL命令,计算当前选定表中的数字字段的总数。
句法:
TOTAL TO TableName
ON FieldName
[FIELDS FieldNameList]
[Scope]
[FOR lExpression1]
[WHILE lExpression2]
[NOOPTIMIZE]
参数,TableName(表名)
指定将包含总计的表的名称。如果指定的表不存在,Visual FoxPro中创建它。如果表存在,并且SET SAFETY为ON,Visual FoxPro将询问您是否要覆盖现有的表。如果SET SAFETY为OFF,系统不会提示您,输出表将被覆盖。
FieldName(字段名):
指定汇总汇总的字段。该表必须在该字段上进行排序,或一个打开的索引或索引标记必须有该字段为其密钥表达式。
FIELDS FieldNameList:
指定要总计的字段。单独的字段名称列表用逗号。如果你省略了这个字段,所有的数字都是默认的。
范围:
指定一系列记录总数。适用范围:所有条款,下一nrecords,记录nrecordnumber,休息。有关范围条款的更多信息,参见本语言在线主题的范围条款或概述。
总的默认范围是所有记录。
2. VF常用的数据统计命令
substr()函数是用来取字符串子串的函数。第一个表达式表示要从中取子串的一个字符串,第二个表示从第几个字符开始,第三个表示去多少个字符的长度。上面的问题的答案应该是
FoxPro
这6个字符。可能是答案有误。如果前面的表达式有汉字,要注意一个汉字是两个字符。
3. 在VF环境下,使用怎样的命令统计该表的记录数
select count(*) from A
4. vf这几个命令怎么写啊··
use 表名
x=recno()
list all for x>=2 .and. x<=5
go 3
insert blank
replace ........
delete record 3
go bottom
delete
pack
.................
5. 有关VF命令的常用命令
!命令 功能:执行外部操作命令程序 语法:RUN[/N [K> MS-DOSCommand|ProgramName 或者 ![/N [K> MS-DOSCommand|ProgramName $操作符 功能:如果一个字符型表达式包含在另一个字符型表达式中返回真值(.T.),否则返回假值(.F.) 语法:cSearchFor$cScarchIn(如果在cSearchIn中找到了cSearchFor则返回真) %操作符 功能:返回一个数值型表达式除以另一个数值型表达式所得的余数。 语法:被除数%除数 &操作符 功能:执行宏替换 语法:& VarName(内存变量名或数组元素名) ?|??命令 功能:计算机表达式的值,并输出计算结果。 ???命令 功能:把结果直接输出到打印机 A ADD TABLE 命令 功能:在当前数据库中添加一个自由表 语法:ADD TABLE TableName ALTER TABLE——SQL 命令 功能:以编程方式修改表的结构 语法:ALTER TABLE TableName1 (表名) ADD|ALTER [COLUMN]FieleName1 (ADD为添加字段名,后为修改字段名。ADD改为DROP表示删除字段) FieldType[(nFieldSidth[,nPrecision])] (字段的类型、宽度和字段精度) [NULL | NOT NULL] (是否允许字段为空值) [CHECK 1Expression1 [ERROR cMessageText1> (指定了字段的有效性规则) [DEFAULT eExpression1] (指定了字段默认值) [PRIMARY KEY | UNIQUE] (指定了创建主索引标识,索引标识与字段同名) [REFERENCES TableName2 [TAG TagName1> (指定了与之建立永久关系的父表) APPEND 命令 功能:在表的末尾添加一个或多个新记录 语法:APPEND [BLANK] (添加一个空记录) [IN nWorkArea | cTableAlias] (指定要添加新记录的表所在的工作区|要添加新记录的表的别名) [NOMENU] APPEND FROM 命令 功能:从一个文件中读入记录,添加到当前表的尾部。 语法:APPEND FROM FileName|? (指定表名) [FIELDS FiledList] (指定要添加哪些字段数据) [FOR 1Expression] (把条件为真的记录添加到表中) (指定要导入的表的结构类型) [AS nCodePage] AVERAGE 命令 功能:计算数值表达式或字段的算术平均值。 语法:AVERAGE [ExpressionList] (求平均值的表达式) [Scope] [FOR 1Expression1] [WHILE 1Expression2] (指定范围或条件) [TO MemVarList | TO ARRAY ArrayName] (计算结果保存的位置) [NOOPTIMIZE]
6. VF的统计命令
用select 分数,count(分数)as hz from 。。order by hz,分数
7. VF程序设计命令
VFP命令、函数及程序语句大全
一、主要命令:
1、CREATE
作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下
同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下
同。)
说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出
对话框,要求用户输入想要建立的表名。在命令中不加文件名或问号系统也会弹出对话框,要求用
户输入想要建立的表名。
2、MODIFY STRUCTURE
作用:显示表文件结构,并允许修改此表的结构。
格式:MODIFY STRUCTURE
说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND
作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
格式:APPEND
说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。无BLANK参数
时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT
作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE]
说明:INSERT 在当前记录后插入一记录;
INSERT BEFORE 在当前记录前插入一记录;
INSERT BEFORE BLANK 在当前记录前插入一空记录。
5、BROWSE
作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:BROWSE
6、USE
作用:打开和关闭表文件。
格式:USE [<文件名
USE
说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的
备注文件(.fpt文件);后一个命令关闭当前打开的表文件。
7、LIST和DISPLAY
作用:显示表(.dbf)的内容、结构或状态。
格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件
[TO PRINT|TO FILE <文件
LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件
LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件
说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:RECORD n
第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记录、ALL
所有的记录。不选范围则隐含范围为ALL;FIELDS后跟字段名,字段名与字段名之间用逗号分
隔。WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的
条件查找所有满足条件的记录。TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上打印出
来和将显示结果输出到文件。DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示,并且在
该命令中,如果省略范围仅显示当前记录。格式中,下面两个命令分别为显示表结构(STRUCTURE)
和工作状态(STATUS)。
8、记录的定位
作用:用记录指针(POINTER)定位记录。
格式:GO[TO] RECORD n|TOP|BOTTOM
n
SKIP [+|-]
说明:第一个命令又叫绝对定位,其中,RECORD n定位到n号记录,TOP定位到第1个记录,
BOTTOM定位到最后一个记录。第二个命令定位到第n个记录,n是一个数值。第三个命令又叫相对定
位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记
录。
9、CHANGE和EDIT
作用:显示要编辑或修改的字段。
格式:CHANGE|EDIT [<范围>] [FIELDS <字段名表>] [WHILE <条件>] [FOR <条件
10、BROWSE
作用:打开一个“浏览”窗口,供用户浏览或修改记录。
格式:BROWSE [FIELDS <字段名表
11、REPLACE
作用:用表达式的值代替命令中与之相对应的字段的内容。
格式:REPLACE [<范围>] <字段1> WITH <表达式1>[,<字段2> WITH <表达式2>] [FOR <条件>
] [WHILE<条件
12、DELETE、PACK、ZAP和RECALL
作用:分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录的
删除标志。
格式:DELETE [<范围>] [WHILE<条件>] [FOR <条件>] (特例:DELETE FILE FILENAME.DBF,
该命令删除指定的表文件)
PACK
ZAP
RECALL [<范围>] [FOR <条件>] [WHILE<条件
13、SORT和INDEX
作用:分别是建立一个其记录以新的物理顺序排列的新表文件和对当前表根据关键字表达式的值
从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。
格式:SORT TO <文件名> ON <字段名1> [/A] [/C] [/D][,<字段名2> [/A] [/C] [/D]]...
[ASCENDING|DESCENDING] [<范围>] [FOR <条件>] [WHILE<条件>] [FIELDS<字段表
INDEX ON <关键字表达式> TO <文件名>
INDEX ON <关键字表达式> TAG <标识名> [OF <文件名>] [FOR <条件
说明:第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字符型
关键字而言,ASCENDING和DESCENDING分别表示升序和降序。第1个命令建立.dbf表文件,第2个命令
建立.idx单一索引文件,第3个命令建立.cdx复合索引文件(Compound Index)。
14、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO
作用:分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。
格式:USE <表文件名> INDEX <索引文件名表>
SET INDEX TO [<索引文件名表
SET ORDER TO [<索引文件名>](特例:重新索引命令:REINDEX)
15、FIND、SEEK和LOCATE及CONTINUE
作用:前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容与命
令行中字符串相同的第一个记录。后一个命令在用USE打开表文件以后,直接查询表中字段内容。
格式:FIND <“字符串”>|<字符串>
SEEK <表达式>
LOCATE [<范围>] [FOR <条件>] [WHILE<条件
CONTINUE
说明:FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。在用LOCATE命令找到
一个匹配记录后,可用CONTINUE命令搜索表的剩余部分来寻找其他匹配的记录。
16、COUNT
作用:统计当前表文件中符合条件的记录数。
格式:COUNT [<范围>] [FOR <条件>] [WHILE<条件>] [TO <内存变量名
说明:内存变量名可用除参数外的任意字符。
17、SUM
作用:对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求和。
格式:SUM [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件
18、AVERAGE
作用:对当前表中选中记录的全部或部分数值型字段及其组成的表达式求平均值并显示。
格式:AVERAGE [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件
未完
VFP命令、函数及程序语句大全(2)
2003年7月24日
二、常用函数
1、数学函数
函数 用途
ABS(<数值表达式>) 绝对值,|x|
CEILING(<数值表达式>) >=自变量的最小整数
EXP(<数值表达式>) 对基E的幂,e=2.71828
FLOOR(<数值表达式>) <=自变量的最大整数
INT(<数值表达式>) 取整(舍尾)自变量
LOG(<数值表达式>) 自变量的自然对数,ln x
LOG10(<数值表达式>) 自变量的普通对数,lg x
MAX(<表达式1>,<表达式2>) 两个值的最大值
MIN(<表达式1>,<表达式2>) 两个值的最小值
MOD(<数值表达式1>,<数值表达式2>) 求余数
RAND([<数值表达式1>]) 返回伪随机数
ROUND(<数值表达式1>,<数值表达式2>) 四舍五入第一个自变量
SIGN(<数值表达式>) 自变量的符号
SQRT(<数值表达式>) 平方根(正根)
2、字符串操作函数
函数 用途
&<内存变量> 用于代替内存变量内容
LEN(<字符串表达式>) 返回字符串表达式的字符个数
SPACE(<数值表达式>) 生成空格
SUBSTR(<字符串表达式>,<数值表达式n>[,<数值表达式L>]) 求子字符串,从指定的字符串表达式第n个开始,总长为L的字符串
LOWER(<字符串表达式>) 将字符串字母转换成小写字母
UPPER(<字符串表达式>) 将字符串字母转换成大写字母
TRIM(<字符串表达式>) 删除字符串尾空格
ASC(<字符串表达式>) 返回字符串表达式最左边的第一个字符的ASCII码
CHR(<数值表达式>) 将数值表达式转换成字符
AT(<字符串表达式1>,<字符串表达式2>[,<数值表达式n>]) 确定字符串表达式1在字符串表达式2中的位置,n为字符串表达式第几次出现
STR(<数值表达式>[,<数值表达式L>][,<数值表达式n>) 将数值转换为字符串,L为数值表达式总长,n为小数位数
VAL(<字符串表达式>) 将数字字符串转换为数字
TYPE(<表达式>) 检测表达式值的数据类型
LTRIM(<字符串表达式>) 删除字符串左部空格
RTRIM(<字符串表达式>) 删除字符串右部空格
LEFT(<字符串表达式>,<数值表达式n>) 取字符串左边部分字符,n为返回的字符个数
RIGHT(<字符串表达式>,<数值表达式n>) 取字符串右边部分字符,n从右边截取字符个数
3、表(.dbf)操作函数
函数 用途
BOF([<工作区号或别名>]) 查表文件开始函数
EOF([<工作区号或别名>]) 表文件结尾测试函数
RECNO([<工作区号或别名>])测试当前或指定工作区表的当前记录号
DELETED([<工作区号或别名>])记录删除测试函数
FILE(<"字符串">)测试文件是否存在函数
DBF([<工作区号或别名>]) 检测表的文件名函数
4、日期、时间函数
函数 用途
DATE() 查系统当前日期函数
TIME([<数值表达式>]) 查系统当前时间函数
YEAR(<日期型表达式>|<日期时间型表达式>) 由日期查年函数
MONTH(<日期型表达式>|<日期时间型表达式>) 从日期查月份函数
CMONTH(<日期型表达式>|<日期时间型表达式>) 由日期查月份名函数
DAY(<日期型表达式>|<日期时间型表达式>) 从日期查当月的日函数
DOW(<日期型表达式>|<日期时间型表达式>[,<数值表达式>])由日期查星期函数
CDOW(<日期型表达式>|<日期时间型表达式>) 从日期查星期名函数
DTOC(<日期型表达式>|<日期时间型表达式>) 日期转换为字符函数
CTOD(<字符串表达式>) 字符串转换为日期函数
CTOT(<字符串表达式>) 返回日期时间值函数
TTOC(<日期时间型表达式>) 返回字符值
5、显示、打印位置函数
函数 用途
ROW() 判断光标行位置函数
COL() 判断光标列位置函数
INKEY([<数值表达式>]) 检测用户所击键对应的ASCII码函数,数值表达式以秒为单位等待击键的时间
6、其他函数
函数 用途
DISKSPACE() 返回默认磁盘驱动器中可用字节数函数
OS() 检测操作系统名称的函数
VERSION() 返回VFP版本号的函数
VFP命令、函数及程序语句大全(3)
三、主要程序语句
1、条件判断语句
格式:(1)IF <条件>
<命令语句组>
ENDIF
说明:如果条件为真,则执行命令语句组中的各语句,否则跳过这些命令语句不执行,
而执行ENDIF后的语句。
(2)IF <条件>
<命令语句组1>
ELSE
<命令语句组2>
ENDIF
说明:如果条件为真,执行命令语句组1,否则执行命令语句组2。
(3)IF <条件1>
IF <条件2>
<命令语句组1>
ELSE
<命令语句组2>
ENDIF
...
ELSE
<命令语句组N>
ENDIF
说明:进行多重条件的嵌套选择。
(4)DO CASE
CASE <条件1>
<命令语句组1>
CASE <条件2>
<命令语句组2>
CASE <条件3>
<命令语句组3>
...
...
CASE <条件N>
<命令语句组N>
[OTHERWISE]
[<命令语句组
ENDCASE
说明:依次判断条件,转入条件为真的命令语句组中执行。当所有条件都不成立时,若有
OTHERWISE项,则执行命令语句组N+1,否则执行ENDCASE后面的语句。
2、循环语句
格式:(1)DO WHILE <条件>
<命令语句组>
[LOOP]
<命令语句组>
[EXIT]
<命令语句组>
ENDDO
说明:判断条件是否为真,如为真就重复执行循环体中的命令语句组,直到条件为假,结束循
环。
(2)SCAN
<命令语句组>
ENDSCAN
说明:在一个表中建立一个执行命令语句组的循环,并执行对每一条记录的操作,直到表文件
记录完为止。
8. 在VF数据库中,想统计字段的内容相同的记录数,显示出来,命令是什么
先通过查询得到此表,代码如下:
select
jd.fkh
,a.fcj,
from
08g3jd
jd
join
a3生
a
on
jd.fkh
==a.fkh
再将原表删除,将新表以
08g3jd
命名保存就可以了!!!
9. 跪求整理好的VF指令
<P>APPEND 在表的末尾添加一个或多个新记录</P>
<P>APPEND FROM 从一个文件中读入记录,追加到当前表的尾部</P>
<P>AVERAGE 计算数值表达式或字段的算术平均值</P>
<P><FONT color=#f70909>BROWSE 打开浏览窗口,显示当前或选定表的记录</FONT></P>
<P>CHANGE 显示要编辑的字段</P>
<P>CLOSE 关闭各种类型的文件</P>
<P>COPY STRUCTURE 用当前选择的表结构创建一个新的空自由表</P>
<P>COPY TO ARRAY 将当前选定表中的数据复制到数组</P>
<P>COPY TO 用当前选定表的内容创建新文件</P>
<P>COUNT 统计表中记录数目</P>
<P>CREATE 生成一个新的VisualFoxPro表</P>
<P>CREATE DATABASE 创建并打开一个数据库</P>
<P>DELETE 给要删除的记录做标记</P>
<P>DELETE DATABASE 从磁盘上删除数据库</P>
<P>DELETE VIEW 从当前数据库中删除一个SQL视图</P>
<P>DISPLAY 在VisualFoxPro主窗口或用户自定义窗口中显示与当前表有关的信息</P>
<P>DISPLAY DATABASE 显示有关当前数据库的信息,或当前数据库中的字段、命名连</P>
<P>接、表或视图的信息</P>
<P>DISPLAY MEMORY 显示内存变量和数组的当前内容</P>
<P>DISPLAY STRUCTURE 显示一个表文件的结构</P>
<P>DISPLAY VIEWS 显示当前数据库中关于SQL视图的信息以及SQL视图是否基于本地</P>
<P>或远程表的信息</P>
<P>DROP TABLE 把一个表从数据库中移出,并从磁盘中删除它</P>
<P>DROP VIEW 从当前数据库中删除指定的SQL视图</P>
<P>FIND 查找记录</P>
<P>GO|GOTO 将记录指针移动到指定记录上</P>
<P>INSERT 插入记录</P>
<P>JOIN 将两个数据库文件合并</P>
<P><FONT color=#ff3300>LIST 连续显示表或环境信息</FONT></P>
<P>LIST DATABASE 连续显示有关当前数据库的信息</P>
<P>LOCATE 按顺序搜索表从而找到满足指定逻辑表达式的第一个记录</P>
<P>MODIFY DATABASE 打开数据库设计器,让你能够交互地修改当前数据库</P>
<P>MODIFY STRUCTURE 显示表设计器</P>
<P>MODIFY VIEW 显示视图设计器</P>
<P>OPEN DATABASE 打开一个数据库</P>
<P>PACK 从当前表中永久删除标有删除标记的记录</P>
<P>RECALL 恢复所选表中带有删除标记的记录</P>
<P>SCAN...ENDSCAN 运行扫描数据表文件</P>
<P>SCATTER 从当前记录中把数据复制到一组内存变量或数组中</P>
<P>SEEK 查找记录命令</P>
<P>SELECT 激活指定工作区</P>
<P>SET DELETED 指定VisualFoxPro是否处理标有删除标记的记录,以及其他命令是</P>
<P>否可以操作它们</P>
<P>SET INDEX 打开一个或多个索引文件,供当前表使用 ;</P>
<P>SET RELATION 在两个打开的表之间建立关系</P>
<P>SKIP 使记录指针在表中向前移动或向后移动</P>
<P>SUM 对当前选定表的指定数值字段或全部数值字段进行求和</P>
<P>TOTAL 计算当前选定表中数值字段的总和</P>
<P>UPDATE 更新数据库文件的记录</P>
<P>USE 打开一个表及其相关索引文件,或打开一个SQL视图</P>
<P>ZAP 从表中删除所有记桌,只留下表的结构</P>
<P><FONT face=黑体color=#0968f7><STRONG>二、索引及排序命令</STRONG></FONT></P>
<P>COPY INDEXES 从单项索引.IDX文件创建复合索引标识</P>
<P>DELETE TAG 从复合索引(.CDX)文件中删除标识</P>
<P>INDEX 创建一个索引文件,利用该文件可以按某种逻辑顺序显示和访问表记录</P>
<P>SET ORDER 指定表的主控索引文件或标识</P>
<P>SORT 对当前选定表进行捧序,井将捧过序的记录输出到新表中</P>
<P><FONT face=黑体color=#1111ee><STRONG>三、Visual FoxPro环境设定命令</STRONG></FONT></P>
<P>DISPLAY STATUS 显示VisualFoxPro环境的状态</P>
<P><FONT face=黑体color=#1111ee><STRONG>四、SET 设定命令</STRONG></FONT></P>
<P>SET CONSOLE 激活或废止从程序中向VisualFoxPro主窗口或活动的用户自定义窗</P>
<P>口的输出</P>
<P>SET DEFAULT 指定默认的驱动器、目录或文件夹</P>
<P>SET DEVICE 将@…SAY的输出结果定向到屏幕、打印机或文件</P>
<P>SET EXACT 指定比较不同长度两个字符串时,VisualFoxPro使用的规则</P>
<P>SET PATH 指定查找文件的路径</P>
<P>SET SAFETY 设定确认模式</P>
<P>SET TALK 决定VisualFoxPro是否显示命令结果</P>
<P><FONT face=黑体color=#0909f7><STRONG>五、Visual FoxPro文件管理命令</STRONG></FONT></P>
<P>COPY FILE 复制任何类型的文件</P>
<P>DELETE FILE 从磁盘上删除文件</P>
<P>RENAME 把文件名称更改为一个新名称</P>
<P>TYPE 显示文件的内容</P>
<P><FONT face=黑体color=#1a42e6><STRONG>六、Visual FoxPro输入输出命令</STRONG></FONT></P>
<P>?|?? 计算表达式的值,并输出计算结果</P>
<P>\|\\ 文字直接输出命令</P>
<P>CLEAR 从内存中释放指定项</P>
<P>CREATE FORM 打开表单设计器</P>
<P>DIR或DIRECTORY 显示目录或文件夹中文件的信息</P>
<P>DO FORM 运行用表单设计器创建的、编译过的表单或表单集</P>
<P>INPUT 由用户输入数据</P>
<P>MODIFY FORM 打开表单设计器,从中可以修改或创建一个表单</P>
<P>MODIFY QUERY 打开查询设计器,从中可以修改或创建一个查询</P>
<P>MODIFY SCREEN 打开表单设计器</P>
<P>READ 读取已建立的对象</P>
<P><FONT face=黑体color=#1111ee><STRONG>七、Visual FoxPro菜单命令</STRONG></FONT></P>
<P>DEFINE MENU 创建菜单栏</P>
<P>DEFINE PAD 在用户自定义菜单栏或Ⅵsu81FoxPro系统菜单栏上创建一个菜单标题</P>
<P>MENU 建立菜单</P>
<P>MENU TO 启动菜单</P>
<P>MODIFY MENU 打开菜单设计器,从中可以修改或创建菜单系统</P>
<P><FONT face=黑体color=#0909f7><STRONG>八、Visual FoxPro打印命令</STRONG></FONT></P>
<P>MODIFY REPORT 打开报表设计器,从中可以修改或创建一个报表</P>
<P>SET PRINTER 打开或者关闭向打印机的输出,或将结果输出到一个文件、端口</P>
<P><FONT face=黑体color=#0000ff><STRONG>九、Visual FoxPro程序管理命令</STRONG></FONT></P>
<P>&& 标明程序文件中非执行的内部注释的开始</P>
<P>* 标明程序文件中非执行的注释行的开始</P>
<P>CANCEL 结束当前VisualFoxPro程序的执行</P>
<P>DECLARE 创建一维或二维数组</P>
<P>DIMENSION 创建一维或二维内存变量数组 '</P>
<P>DOCASE...ENDCASE 分支判断命令</P>
<P>DO 执行一个VisualFoxPro程序或过程</P>
<P>DOWHILE...ENDDO 循环语句</P>
<P>EXIT 从DOWHILE、FOR或SCAN循环中退出</P>
<P>FOR...ENDFOR 循环语句</P>
<P>IF…ENDIF 判断语句</P>
<P>MODIFY COMMAND 打开一个编辑窗口,从中可以修改或创建程序文件</P>
<P>PARAMETERS 将调用程序传来的数据赋值给私有内存变量或数组</P>
<P>PRIVATE 在当前程序中隐藏指定的、在调用程序中定义的内存变量或数组</P>
<P>PROCEDURE 用在程序文件中标识一个过程的开始</P>
<P>PUBLIC 定义全局内存变量或数组</P>
<P>QUIT 结束当前VisualFoxPro工作期,并将控制权返回给操作系统</P>
<P>RELEASE 从内存中删除内存变量和数组</P>
<P>RESTORE FROM 恢复保存在内存变量文件或备注字段中的内存变量和内存变量数组</P>
<P>,并把它们放回到内存中</P>
<P>RETURN 将程序控制返回给调用程序</P>
<P>SAVE TO 把当前内存变量和数组保存到内存变量文件或备注字段中</P>
<P>SET PROCEDURE 打开过程文件</P>
<P>WAIT 显示信息并暂停VisualFoxPro的执行,按某个键或单击鼠标后继续执行</P>
<P><FONT face=黑体color=#1111ee><STRONG>十、Visual FoxPro日期及时间命令</STRONG></FONT></P>
<P>SET DATE 指定日期表达式和日期时间表达式的显示格式</P>
<P><FONT face=黑体color=#0909f7><STRONG>十一、Visual FoxProSQL命令</STRONG></FONT></P>
<P>ALTER TABLE-SQL 以编程方式修改表的结构</P>
<P>DELETE-SQL 给要删除的记录做标记</P>
<P>INSERT-SQL 在表尾追加一个包含指定字段值的记录</P>
<P>SELECT-SQL 从一个或多个表中检索数据</P>
<P>UPDATE-SQL 以新值更新表中的记录</P>
<P><FONT face=黑体color=#0909f7><STRONG>十二、Visual FoxPro类及程序库命令</STRONG></FONT></P>
<P>DEFINE CLASS 创建一个用户自定义类或子类,并为创建的类或子类指定属性、事</P>
<P>件和方法</P>
<P>DISPLAY OBJECTS 显示有关一个对象或一组对象的信息</P>
<P>MODIFY CLASS 打开类设计器,让用户修改已有的类定义或创建新的类定义</P>
一、命令
1.use 表名 打开表
2.List 显示表记录,但不能修改
3.browse 浏览表记录,可以修改
4.display 显示记录指针指向的记录
5.append 追加记录
6.append blank 追加空白记录
7.insert blank 插入空白记录
8.delete 逻辑删除记录,记录前出现星号
9.pack 物理删除,将逻辑删除的记录彻底删除
10.recall 记录恢复
11.zap 删除表里的所有记录
12.go n 指向第n条记录
13.go top 指向第一条记录
14.go bottom 指向最后一条记录
15.skip n 往下跳n条记录
16.skip -n 往上跳n条记录
17.? 从屏幕的下一行的第一列起显示结果
18.? ? 从当前行当前列起显示结果
19.use sb to sb() 复制sb表给sb()表
20.recno() 记录号函数
21.bof() 上溢出
22.eof() 下溢出
23.dimension x(4) 定义数组x,里面有四个元素,其中每个元素的默认值为.F. declare和dimension 相同
24.replace 替换
25.add 表示增加字段
26.distinct 不重复记录
27.error 错误
28.continue 继续
29.else if 否则
30.column 列
31.input 显示数值
32.accept 显示字符串
33.wait 是弹出的一个信息框
34.drop 删除字段或删除表
35.otherwise 其它情况
36.check 规则
37.cursor 临时表
38.build 连编
二、VF里文件类型
1.项目 .pjx project 2.数据库 .dbc database
3.表 .dbf table 4.菜单 .mnx .mpr menu
5.程序 .prg 6.表单 .scx form
7.报表 .frx report 8.查询 .qpr query
9.视图 .vue view 10.文件 .txt
11.备注型文件 .fpt
三、例题
1.creat table student(学号 c(6),姓名c(8),性别c(2),年龄n(2)) 创建学生表
2.insert into student values("001","张三","男",20) 插入一条学生记录
3.alter table student alter 学号 c(8) 将学号字段的宽度改为8
4.alter table student rename 学号 to 学生编号 将学号字段重命名为学生编号
5.alter table student drop 年龄 将年龄字段删除
6.alter table student add 所在院系c(10) 为student表增加一个字段
7.select *from student into table xusheng 将表student复制给表xuesheng
8.update student set 成绩=成绩+10 where 性别="男" 将男生的成绩提高10分
9.delete from student where 性别"女" 册除所有女生的记录
10.alter table student alter 学号 set check left(学号,2="00")
四、创建、运行与修改
1.create database 123 创建数据库123
modify database 123 修改数据库123 (注意:alter在SQL中修改表结构)
2.modify command 123 修改程序123
do 123 运行程序123
3.create form 123 创建表单123
modify form 123 修改表单123
do form123 运行表单123
4.create menu 123 创建菜单123
modify menu 123 修改菜单123
do 123.mpr 运得菜单123
5.modify query 123 修改查询123
do 123.qpr 运得查询123
6.modify report 123 修改报表123
report form 123 运行报表123
7.drop view 123 删除视图123
create view 123 创建视图123 (打开视图用use)
五、排序
1.sort to nl on 年龄 按年龄升序排列,产生一个新表nl
2.sort to cj on 成绩/d 按成绩降序排列,产生一个新表cj
六、索引
1.index on 姓名 tag xm //按姓名升序建立普通索引,索引标识为xm//
2.index on 性别 tag xb //按性别升序建立普通索引,索引标识为xb//
3.index on 成绩 tag cj descending //按成绩降序建立普通索引,索引标识为cj//
4.index on 性别 tag xb1 unique(唯一索引) //按性别升序建立唯一索引,索引标识为xb1//
5.index on 年龄 tag nl candidate //按年龄升序建立候选索引,索引标识为nl//
6.index on 性别+str(成绩) tag xbcj //按性别升序,如性别相同按成绩升序建立普通索引,索引标识为xbcj//
7.index on 性别+str(成绩) tag xbcj1 descending //按性别降序,如性别相同按成绩降序建立普通索引,索引标识为xbcj1//
8.index on 年龄-成绩/1000000 tag nlcj //按年龄升序,如年龄相同按成绩降序建立普通索引,索引标识为nlcj//
9.index on 年龄-成绩/1000000 tag nlcj1 descending //按年龄降序,如年龄相同按成绩升序建立普通索引,索引标识为xbcj1//
七. 命令
set index to 打开当前的一个或多个索引文件并确定主控索引文件(to后加东西是打开,不加是关闭)
set order to 确定主控索引
locate 顺序查找满足条件的记录,并且指向它
seek 索引查找
count 记数命令
sum 求和命令
average 求平均值命令
total 汇总命令
max 求最大值
min 求最小值
八.SQL查询结构
1.select 字段列表 要显示的字段
2.from 表名列表 查询涉及到的所有表
3.where 条件 条件
4.into 目标 查询结果输出到哪去
5.group by 条件表达式 对记录进行分组
6.having 筛选条件 选择符合条件的分组
7.order by 关键字 对查询结果按某几个字段进行排序
8.top 数值表达式 对显示表的前几个记录
九.程序结构
1.顺序结构
2.选择结构:(1)if 条件表达式 (2)if 条件表达式 (3)do case
语名序列 语名序列1 case 条件表达式1
endif else 语句序列1
语句序列1 case 条件表达式2
endif 语句序列2
case 条件表达式3
语句序列3
3.循环结构:(1)for (2)do while 条件表达式 (3)scan(扫描)
循环体 循环体 循环体
endfor enddo endscan
Loop 重新回到循环的最开始 input to x 从键盘输入一个数给变量x
exit 结束循环跳出循环 accept to y 从键盘输入一个字符串给变量y
set sysmenu to default 退出菜单
thisform.release 退出表单
thisform.refresh 刷新表单
十.函数
数值型函数
函数名 功能 例子 结果
1.abs() 求绝对值 ?abs(-4) 4
2.sqrt() 求平方根 ?sqrt(4) 2
3.int() 取整数 ?int(7.5) 7
4.max() 求最大值 ?max(3,4,5) 5
5.min() 求最小值 ?min(3,4,5) 3
6.mod() 取余 ?mod(11,3) 2
7.round() 四舍五入 ?round(3.1415,3) 3.142
8.ceiling() 返回不小于某值 ?ceiling(3.3) 4
的最小整数
9.floor() 返回不大于指定数
的最大整数 ?floor(3.3) 3
十一.字符处理函数
1.substr() 求子串 ?substr("abcd",2,2) "bc"
2.left() 取左串 ?left("abcd",2) "ab"
3.right() 取右串 ?right("abcd",2) "cd"
4.len() 求串长 ?len("abcd") 4
5.at() 求一个串在另一个
串中出现的位置 ?at("bc","abcd",1) 2
6.space() 输出空格 ?space(4) " "
7.upper() 将小写字母转换成
大写字母 ?upper("aBc") "ABC"
8.lower() 将大写字母转换成
小写字母 ?lower("aBc") "abc"
9.val() 将字符串转换为数值 ?val("3.14") 3.14
10.str() 将数值转换为字符串 ?str(3.14,5,1) "3.1"
11.alltrim() 去掉字符串前面和后面的空格去掉 ?alltrim("abcd") "abcd"
12.stuff 修改字符串 ?stuff("good boy",5.3) "goodgirl"
十二.日期处理函数
1.date() 当前日期 6.ctod() 将字符转换为日期 ?ctod("10/1/99") {10/01/99}
2.time() 当前时间 7.dtoc() 将日期转换为字符 ?dtoc({10/01/99}) "10/01/99"
3.year() 取年函数 8.dtos() 将日期转换为年月日
4.month() 取月函数 格式字符串 ?dtos({10/1/99}) "19991001"
5.day() 取日函数
十三.项目下有六个选项卡
10. 求VFP常用命令
VF常用命令和程序命令一、主要命令:
1、CREATE
作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA
,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同
时选择,下同。)
说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会
弹出
对话框,要求用户输入想要建立的表名。在命令中不加文件名或问号系统也会弹出对话框,
要求用
户输入想要建立的表名。
2、MODIFY STRUCTURE
作用:显示表文件结构,并允许修改此表的结构。
格式:MODIFY STRUCTURE
说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND
作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
格式:APPEND [BLANK]
说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。无BLANK参
数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT
作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE] [BLANK]
说明:INSERT 在当前记录后插入一记录;
INSERT BEFORE 在当前记录前插入一记录;
INSERT BEFORE BLANK 在当前记录前插入一空记录。
5、BROWSE
作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:BROWSE
6、USE
作用:打开和关闭表文件。
格式:USE [<文件名>]
USE
说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应
的
备注文件(.fpt文件);后一个命令关闭当前打开的表文件。
7、LIST和DISPLAY
作用:显示表(.dbf)的内容、结构或状态。
格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件
>]
[TO PRINT|TO FILE <文件>]
LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>]
LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>]
说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:
RECORD n
第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记
录、ALL
所有的记录。不选范围则隐含范围为ALL;FIELDS后跟字段名,字段名与字段名之间用逗号
分
隔。WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;
FOR后的
条件查找所有满足条件的记录。TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上
打印出
来和将显示结果输出到文件。DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示
,并且在
该命令中,如果省略范围仅显示当前记录。格式中,下面两个命令分别为显示表结构(
STRUCTURE)和工作状态(STATUS)。
8、记录的定位
作用:用记录指针(POINTER)定位记录。
格式:GO[TO] RECORD n|TOP|BOTTOM
n
SKIP [+|-]
说明:第一个命令又叫绝对定位,其中,RECORD n定位到n号记录,TOP定位到第1个记录,
BOTTOM定位到最后一个记录。第二个命令定位到第n个记录,n是一个数值。第三个命令又叫
相对定
位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后
移一个记录。
9、CHANGE和EDIT
作用:显示要编辑或修改的字段。
格式:CHANGE|EDIT [<范围>] [FIELDS <字段名表>] [WHILE <条件>] [FOR <条件>]
10、BROWSE
作用:打开一个"浏览"窗口,供用户浏览或修改记录。
格式:BROWSE [FIELDS <字段名表>]
11、REPLACE
作用:用表达式的值代替命令中与之相对应的字段的内容。
格式:REPLACE [<范围>] <字段1> WITH <表达式1>[,<字段2> WITH <表达式2>] [FOR <条
件>
] [WHILE<条件>]
12、DELETE、PACK、ZAP和RECALL
作用:分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录
的
删除标志。
格式:DELETE [<范围>] [WHILE<条件>] [FOR <条件>] (特例:DELETE FILE
FILENAME.DBF,
该命令删除指定的表文件)
PACK
ZAP
RECALL [<范围>] [FOR <条件>] [WHILE<条件>]
13、SORT和INDEX
作用:分别是建立一个其记录以新的物理顺序排列的新表文件和对当前表根据关键字表达式
的值
从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。
格式:SORT TO <文件名> ON <字段名1> [/A] [/C] [/D][,<字段名2> [/A] [/C]
[/D]]...
[ASCENDING|DESCENDING] [<范围>] [FOR <条件>] [WHILE<条件>] [FIELDS<字段表>]
INDEX ON <关键字表达式> TO <文件名>
INDEX ON <关键字表达式> TAG <标识名> [OF <文件名>] [FOR <条件>]
说明:第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字
符型
关键字而言,ASCENDING和DESCENDING分别表示升序和降序。第1个命令建立.dbf表文件,第
2个命令
建立.idx单一索引文件,第3个命令建立.cdx复合索引文件(Compound Index)。
14、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO
作用:分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。
格式:USE <表文件名> INDEX <索引文件名表>
SET INDEX TO [<索引文件名表>]
SET ORDER TO [<索引文件名>](特例:重新索引命令:REINDEX)
15、FIND、SEEK和LOCATE及CONTINUE
作用:前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容
与命
令行中字符串相同的第一个记录。后一个命令在用USE打开表文件以后,直接查询表中字段
内容。
格式:FIND <"字符串">|<字符串>
SEEK <表达式>
LOCATE [<范围>] [FOR <条件>] [WHILE<条件>]
CONTINUE
说明:FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。在用LOCATE命令
找到
一个匹配记录后,可用CONTINUE命令搜索表的剩余部分来寻找其他匹配的记录。
16、COUNT
作用:统计当前表文件中符合条件的记录数。
格式:COUNT [<范围>] [FOR <条件>] [WHILE<条件>] [TO <内存变量名>]
说明:内存变量名可用除参数外的任意字符。
17、SUM
作用:对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求
和。
格式:SUM [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件>]
18、AVERAGE
作用:对当前表中选中记录的全部或部分数值型字段及其组成的表达式求平均值并显示。
格式:AVERAGE [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条
件>]
二、常用函数
1、数学函数
函数 用途
ABS(<数值表达式>) 绝对值,|x|
CEILING(<数值表达式>) >=自变量的最小整数
EXP(<数值表达式>) 对基E的幂,e=2.71828
FLOOR(<数值表达式>) <=自变量的最大整数
INT(<数值表达式>) 取整(舍尾)自变量
LOG(<数值表达式>) 自变量的自然对数,ln x
LOG10(<数值表达式>) 自变量的普通对数,lg x
MAX(<表达式1>,<表达式2>) 两个值的最大值
MIN(<表达式1>,<表达式2>) 两个值的最小值
MOD(<数值表达式1>,<数值表达式2>) 求余数
RAND([<数值表达式1>]) 返回伪随机数
ROUND(<数值表达式1>,<数值表达式2>) 四舍五入第一个自变量
SIGN(<数值表达式>) 自变量的符号
SQRT(<数值表达式>) 平方根(正根)
2、字符串操作函数
函数 用途
&<内存变量> 用于代替内存变量内容
LEN(<字符串表达式>) 返回字符串表达式的字符个数
SPACE(<数值表达式>) 生成空格
SUBSTR(<字符串表达式>,<数值表达式n>[,<数值表达式L>]) 求子字符串,从指定的字
符串表达式第n个开始,总长为L的字符串
LOWER(<字符串表达式>) 将字符串字母转换成小写字母
UPPER(<字符串表达式>) 将字符串字母转换成大写字母
TRIM(<字符串表达式>) 删除字符串尾空格
ASC(<字符串表达式>) 返回字符串表达式最左边的第一个字符的ASCII码
CHR(<数值表达式>) 将数值表达式转换成字符
AT(<字符串表达式1>,<字符串表达式2>[,<数值表达式n>]) 确定字符串表达式1在字符
串表达式2中的位置,n为字符串表达式第几次出现
STR(<数值表达式>[,<数值表达式L>][,<数值表达式n>) 将数值转换为字符串,L为数值
表达式总长,n为小数位数
VAL(<字符串表达式>) 将数字字符串转换为数字
TYPE(<表达式>) 检测表达式值的数据类型
LTRIM(<字符串表达式>) 删除字符串左部空格
RTRIM(<字符串表达式>) 删除字符串右部空格
LEFT(<字符串表达式>,<数值表达式n>) 取字符串左边部分字符,n为返回的字符个数
RIGHT(<字符串表达式>,<数值表达式n>) 取字符串右边部分字符,n从右边截取字符个数
3、表(.dbf)操作函数
函数 用途
BOF([<工作区号或别名>]) 查表文件开始函数
EOF([<工作区号或别名>]) 表文件结尾测试函数
RECNO([<工作区号或别名>]) 测试当前或指定工作区表的当前记录号
DELETED([<工作区号或别名>]) 记录删除测试函数
FILE(<"字符串">) 测试文件是否存在函数
DBF([<工作区号或别名>]) 检测表的文件名函数
4、日期、时间函数
函数 用途
DATE() 查系统当前日期函数
TIME([<数值表达式>]) 查系统当前时间函数
YEAR(<日期型表达式>|<日期时间型表达式>) 由日期查年函数
MONTH(<日期型表达式>|<日期时间型表达式>) 从日期查月份函数
CMONTH(<日期型表达式>|<日期时间型表达式>) 由日期查月份名函数
DAY(<日期型表达式>|<日期时间型表达式>) 从日期查当月的日函数
DOW(<日期型表达式>|<日期时间型表达式>[,<数值表达式>]) 由日期查星期函数
CDOW(<日期型表达式>|<日期时间型表达式>) 从日期查星期名函数
DTOC(<日期型表达式>|<日期时间型表达式>) 日期转换为字符函数
CTOD(<字符串表达式>) 字符串转换为日期函数
CTOT(<字符串表达式>) 返回日期时间值函数
TTOC(<日期时间型表达式>) 返回字符值
5、显示、打印位置函数
函数 用途
ROW() 判断光标行位置函数
COL() 判断光标列位置函数
INKEY([<数值表达式>]) 检测用户所击键对应的ASCII码函数,数值表达式以秒为单位等
待击键的时间
6、其他函数
函数 用途
DISKSPACE() 返回默认磁盘驱动器中可用字节数函数
OS() 检测操作系统名称的函数
VERSION() 返回VFP版本号的函数
三、主要程序语句
1、条件判断语句
格式:(1)IF <条件>
<命令语句组>
ENDIF
说明:如果条件为真,则执行命令语句组中的各语句,否则跳过这些命令语句不执行,
而执行ENDIF后的语句。
(2)IF <条件>
<命令语句组1>
ELSE
<命令语句组2>
ENDIF
说明:如果条件为真,执行命令语句组1,否则执行命令语句组2。
(3)IF <条件1>
IF <条件2>
<命令语句组1>
ELSE
<命令语句组2>
ENDIF
...
ELSE
<命令语句组N>
ENDIF
说明:进行多重条件的嵌套选择。
(4)DO CASE
CASE <条件1>
<命令语句组1>
CASE <条件2>
<命令语句组2>
CASE <条件3>
<命令语句组3>
...
...
CASE <条件N>
<命令语句组N>
[OTHERWISE]
[<命令语句组N+1>]
ENDCASE
说明:依次判断条件,转入条件为真的命令语句组中执行。当所有条件都不成立时,若有
OTHERWISE项,则执行命令语句组N+1,否则执行ENDCASE后面的语句。
2、循环语句
格式:(1)DO WHILE <条件>
<命令语句组>
[LOOP]
<命令语句组>
[EXIT]
<命令语句组>
ENDDO
说明:判断条件是否为真,如为真就重复执行循环体中的命令语句组,直到条件为假,结束
循
环。
(2)SCAN
<命令语句组>
ENDSCAN
说明:在一个表中建立一个执行命令语句组的循环,并执行对每一条记录的操作,直到表文
件
记录完为止。
VFP常用函数使用说明
1、数值运算函数
函数 操作 例 结果
SQRT(x) 求平方根 SQRT(9) 3
INT(x) 取整数 INT(3.14) 3
ROUND(x) 四舍五入 ROUND(3.14159,4) 3.1416
MOD(x,y) 求X除以Y的余数 MOD(25,4) 1
MAX(x,y) 求X,Y中的最大值 MAX(7,8) 8
MIN(x,y) 求X,Y中的最小值 MIN(1,2,3) 1
2、字符中操作函数
函数名 操作 例 结果
UPPER(S) 小写字母 UPPER(abc) ABC
LOWER(S) 大写字母 LOWER(ACD) acd
LEN(S) 求字符串的长度 LEN("中国1号") 7
AT(S1,S2) 在字符串S2,找字符串S1 AT("H","CHINA") 2
SUBSTR(S,I,N) 在S字符串中的第I个字符起取N个字符 SUBSTR('TECHNOLO',3,3) CHN
LEFT(S,N) 从字符串S左边取N个字符 LEFT("中国人",4) 中国
RIGHT(S,N) 从字符串S右边取N个字符 S=‘12345'
RIGHT(S,3) 345
SPACE(N) 生成N个空格 "合计"+SPACE(2)+"123" 合计123
TRIM(S) 消除字符串尾部空格 TRIM("姓名 ") 姓名
ALLTRI(S) 消除字符串中所有空格 ALLTRIM("李 丽") 李丽
STUFF(S1,N1,N2,S2) 用字符串S2替换S1中第N1个字符起的N2个字符 STUFF("NOW",2,
1,"E") NEW
& 宏替换 P="G2"
USE &P USE G2
3、日期和时间函数
函数名 操作 例 结果
DATE() 求当前日期 DATE() 2001/11/12
DATETIME() 求当前日期和时间 DATETIME() 2001/11/12/0:22:33am
YEAR(D) 求年份 YEAR(DATE()) 2001
MONTH(D) 求月份(数值) MONTH(DATETIME()) 11
CMONTH(D) 求月份(字符) MONTH(DATETIME()) Novenber
DAY(D) 求日期 DAY(DATE()) 12
DOW(D) 求星期几(数值) DOW(DATE()) 1
CDOW(D) 求星期几(英文) CDOW(DATE()) sunday
TIME(D) 求当前时间 TIME(DATE()) 10:20:38am
4、数据类型转换函数
函数名 操作 例 结果
ASC(S) 求第一个字符串的ASCII码 ASC("what") 87
CHR(N) 求ASCII码的字符 CHR(87) w
STR(R,L,D) 数值转换成字符,L为长度,D为小数位数 X=3.1415
STR(X,6,2) 3.14
VAL(S) 字符串转换为数值 VAL("123") 123.00
CTOD(S) 字符串转日期 CTOD('11/01/2002') 11/01/2002
DTOC(D) 日期转换成字符串 DTOC(DATE()) 11/01/2002
DTOS(D) 把日期转成年月日式的字符串 DTOS(DATE()) 20021101
CTOT(C) 字符串转成日期时间型 CTOT(11/01/2002 10:30:50am) 11/01/2002 10:30:50am
DTOT(D) 日期型转为日期时间型 DTOT(DATE()) 11/25/2001 00:00:01am
TTOC(T) 日期时间型转为字符型 TTOC(DATETIME()) 11/25/2001 00:00:01am
TTOD(T) 日期时间型转为日期型 TTOD(DATETIME()) 11/25/2001
IIF(LE,E1,E2) 逻辑判断 IIF(A>0,"YES","NO") YES
5、检测函数
函数名 操作 例 结果
RECNO() 检测当前记录号 RECNO() 1
RECCOUNT() 检测当前记录数 RECCOUNT() 12
BOF() 开始记录 BOF() 1
EOF() 最后记录 EOF() 12
FOUND() 返回查找结果 FOUND() .T.
ROW() 返回当前行坐标 ROW() 1
COL() 返回当前列坐