VFP的常用函数及常用命令
VFP常用命令精版

VFP 常用命令,函数,属性,事件和方法一.常用命令1.CREATE TABLE-SQL 创建一个含有指定字段的表。
2.ALTER TABLE-SQL 以编程方式修改表的结构。
3.SELECT 激活指定工作区。
4.USE 打开一个表及其相关索引文件,或打开一个SQL 视图。
5.CLOSE TABLES 关闭所有打开数据库中的所有表。
6.COPY STRUCTURE 用当前选择的表结构创建一个新的空自由表。
7.COPY TO 用当前选定表的内容创建新文件。
8.RENAME TABLE 重命名当前数据库中的表。
9.BROWSE 打开浏览窗口。
1. APPEND 在表的末尾添加一个或多个新记录。
2. APPEND FROM 从一个文件中读入记录,添加到当前表的尾部。
3. GO/GOTO 将记录指针移到指定记录上。
4. LOCATE 按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。
5. SEEK 在一个表中搜索首次出现的一个记录。
6. SKIP 使记录指针在表中向前或向后移动。
7. CONTINUE 继续执行先前的LOCA TE 命令。
8. EDIT 显示要编辑的字段。
9. DELETE 给要删除的记录做标记。
10. DELETE-SQL 给要删除的记录做标记。
11. PACK 从当前表中永久删除有删除标记的记录。
12. RECALL 恢复所选表中带删除标记的记录。
13. ZAP 从表中删除所有记录。
14. INSERT-SQL 在表尾追加一个包含指定字段值的记录。
15. REPLACE 更新表的记录内容。
16. UPDATE-SQL 以新值更新表中的记录。
17. SET EXCLUSIVE 指定Visual FoxPro 在网络上是以独占方式,还是以共享方式打开表文件。
18. SET FILTER 指定访问当前表中记录时必须满足的条件。
19. SET DELETED 指定Visual FoxPro 是否处理标有删除标记的记录。
vf常用编辑命令及函数

常用编程命令及常用函数注:在语法中如用方括号“[ ]”括起来的词句,表示可以不用。
常用命令假设(if...endif)循环(do while...enddo)分支(d 赋值(store...to)调用表单(do form)调用子返回调用程序(return)启动事件处理(read events)清除事开关命令执行状态(set talk on/off)结束程序(cancel)常用函数数值转换字符(str())字符转换数值(val())取系统日取年份(year())取月份(month())取天日(取整(int())四舍五入(round())删除标记记录号(recno())记录数(reccount())找到记录表结尾(eof())表开头(bof())消除后续消除前导空格(ltrim())假设语句根据一逻辑表达式的值,有条件的执行一组命令。
语法:IF 逻辑表达式 [THEN]程序组1[ELSE程序组2]ENDIF参数:逻辑表达式代表一逻辑值,如果这逻辑值为真,系统执行程序组1,否则不执行程序组1,如果有else及程序组2的话,则执行程序组2,如没有则什么也不执行,直接执行endif后面的语句。
备注:在if...endif之间还可以有if...endif,即该命令是可以嵌套的。
then可以有也可以没有,对程序没有影响。
else及程序组2可以有也可以没有,但如果有的话,在逻辑表达式的值为假时,程序组2将被执行。
if 与 endif 必须配对使用,即有一个 if 必须有一个 endif,否则程序会出错。
举例:例1:假如分数字段的值大于等于90,则让等级字段的值为“优”,并显示该记录。
程序如下:if 分数>=90replace 等级 with '优'displayendif例2:在数据库中可以把性别字段设为逻辑型,“真”代表“男”,“假”代表“女”,但显示时不能显示真、假,否则别人看不懂,而应显示男、女,因此我们设一变量xb,根据性别字段的具体值,将xb的值设为男或女,然后在需要的时候显示xb的值即可。
foxpro常用语句

这是一组经常要用到的VFP命令与函数。
01. select :SELECT distinct zsbh2003.zg from zsbh2003 &&相同的记录只显示一次SELECT distinct zsbh2003.zg from zsbh2003 INTO array mm &&相同的记录只显示一次,并保存于数组中SELECT distinct zsbh2003.zg from zsbh2003 INTO cursor temp &&相同的记录只显示一次,并保存于虚拟暂存表中SELECT distinct zsbh2003.zg from zsbh2003 INTO table temp &&相同的记录只显示一次,并保存于表中? _tally && 查询结果中的记录数02. replicate( ) 函数返回一个字符串,这个字符串是将指定字符表达式重复指定次数后得到的。
REPLICATE(cExpression, nTimes)cExpression: 指定要重复的字符表达式。
nTimes: 指定字符表达式的重复次数。
在Visual FoxPro 中,结果字符串的最大长度只受可用内存数量的限制。
03. report 命令根据MODIFY REPORT 或CREATE REPORT 创建的报表定义文件显示或打印报表。
REPORT FORM FileName1 | ?[ENVIRONMENT][Scope] [FOR lExpression1] [WHILE lExpression2][HEADING cHeadingText][NOCONSOLE][NOOPTIMIZE][PLAIN][RANGE nStartPage [, nEndPage]][PREVIEW [[IN] WINDOW WindowName | IN SCREEN][NOWAIT]][TO PRINTER [PROMPT] | TO FILE FileName2 [ASCII]][NAME ObjectName][SUMMARY]参数描述FileName1: 指定报表定义文件的名称。
VFP基本命令与常用函数_1

Visual FoxPro基本命令与常用函数第一部分基本命令准备知识:1、范围选项的常用表示词(表中的若干行)ALL 所有记录REST 从当前记录到最后RECORD N 第N条记录NEXT N 从当前记录开始到剩余的N条记录。
2、字段选项的常用形式(表中的若干列)FIELDS 字段名表字段名表是指表中的第一行各列,就是表中的列标题。
如:FIEL 姓名,籍贯,奖学金3、FOR 条件条件表达式可以是关系表达式或者逻辑表达式。
关系表达式:<表达式1> <关系运算符> <表达式2>关系运算符有8种:>、>=、<、<=、=、==、<>或#或!=逻辑表达式:!、NOT、AND、OR、.T. 、.F.命令动词总结以命令动词为主要标准分析:1、DISP LIST两个命令动词都是显示的意思,DISP表示分屏显示,LIST表示连续显示。
形式1:DISP 显示当前记录LIST 显示所有记录(连续)形式2:DISP STRU表结构的显示(分屏)LIST STRU表结构的显示(连续)形式3:DISP 范围FIELDS 字段名表FOR条件根据选项显示记录LIST 范围FIELDS 字段名表FOR条件根据选项显示记录2、CREATECREATE 表文件名创建一个新的Visual FoxPro表3、MODIFYMODIFY STRUCTURE 修改当前打开表的结构4、CLEAR形式1:CLEAR 清除屏幕内容形式2:CLEAR ALL 关闭所有打开的表5、CLOSE形式1:CLOSE TABLE 关闭当前打开的表形式2:CLOSE ALL 关闭所有打开的表6、APPENDAPPE BLANK 在表的尾部追加一条空白记录。
7、INSERT形式1:INSERT BLANK 在当前记录之后插入一条空白记录形式2:INSERT BEFORE BLANK 在当前记录之前插入一条空白记录8、GO 绝对定位形式1:GO N 去第N条记录形式2:GO TOP 去表的顶端GO BOTTOM 去表的尾部9、SKIP 相对定位SKIP +N 以当前记录为基准向下移动N条SKIP -N 以当前记录为基准向上移动N条10、LOCATE 条件定位LOCATE FOR 条件范围根据给定的条件,搜索满足条件的数据。
VF二级常用命令集函数

VFP常用函数使用说明1、数值运算函数函数操作例结果SQRT(x) 求平方根SQRT(9)3INT(x) 取整数INT(3.14)3ROUND(x) 四舍五入 ROUND(3.14159,4) 3.1416MOD(x,y) 求X除以Y的余数MOD(25,4) 1MAX(x,y) 求X,Y中的最大值MAX(7,8) 8MIN(x,y) 求X,Y中的最小值MIN(1,2,3) 12、字符中操作函数函数名操作例结果UPPER(S)小写字母UPPER(abc) ABCLOWER(S)大写字母LOWER(ACD) acdLEN(S)字符串的长度 LEN("中国1号")7AT(S1,S2)在字符串S2,找字符串S1 AT("H","CHINA") 2SUBSTR(S,I,N)在S字符串中的第I个字符起取N个字符SUBSTR('TECHNOLO',3,3) CHNLEFT(S,N)从字符串S左边取N个字符 LEFT("中国人",4)中国RIGHT(S,N)从字符串S右边取N个字符S=‘12345'RIGHT(S,3)345SPACE(N)生成N个空格 "合计"+SPACE(2)+"123" 合计123TRIM(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 G23、日期和时间函数函数名操作例结果DATE()求当前日期DATE() 2001/11/12DATETIME() 求当前日期和时间DATETIME() 2001/11/12/0:22:33amYEAR(D)求年份YEAR(DATE()) 2001MONTH(D)求月份(数值)MONTH(DATETIME()) 11CMONTH(D)求月份(字符)MONTH(DATETIME()) NovenberDAY(D)求日期DAY(DATE()) 12DOW(D)求星期几(数值)DOW(DATE())1CDOW(D)求星期几(英文) CDOW(DATE())sundayTIME(D)求当前时间TIME (DATE())10:20:38am4、数据类型转换函数函数名操作例结果ASC(S)求第一个字符串的ASCII码ASC("what" ) 87CHR(N)求ASCII码的字符 CHR(87) wSTR(R,L,D) 数值转换成字符,L为长度,D为小数位数X=3.1415STR(X,6,2) 3.14VAL(S)字符串转换为数值VAL("123") 123.00CTOD(S)字符串转日期 CTOD('11/01/2002') 11/01/2002DTOC(D)日期转换成字符串 DTOC(DATE()) 11/01/2002DTOS(D)把日期转成年月日式的字符串 DTOS(DATE()) 20021101CTOT(C)字符串转成日期时间型CTOT(11/01/2002 10:30:50am) 11/01/2002 10:30:50amDTOT(D)日期型转为日期时间型DTOT(DATE())11/25/2001 00:00:01amTTOC(T)日期时间型转为字符型 TTOC(DATETIME()) 11/25/2001 00:00:01amTTOD(T)日期时间型转为日期型 TTOD(DATETIME()) 11/25/2001IIF(LE,E1,E2) 逻辑判断IIF(A>0,"YES","NO") YES5、检测函数函数名操作例结果RECNO()检测当前记录号RECNO()1RECCOUNT()检测当前记录数 RECCOUNT()12BOF()开始记录BOF()1EOF()最后记录EOF()12FOUND()返回查找结果FOUND () .T.ROW()返回当前行坐标ROW()1COL()返回当前列坐VF常用命令和程序命令一、主要命令:1、CREATE作用:建立一个新的表。
VFP命令大全

VFP命令、函数及程序语句大全二、常用函数1、数学函数函数用途ABS(<数值表达式>)绝对值,|x|CEILING(<数值表达式>)>=自变量的最小整数EXP(<数值表达式>)对基E的幂,e=2.71828FLOOR(<数值表达式>)<=自变量的最大整数INT(<数值表达式>)取整(舍尾)自变量LOG(<数值表达式>)自变量的自然对数,ln xLOG10(<数值表达式>)自变量的普通对数,lg xMAX(<表达式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后的语句。
VFP 6.0 常用函数、命令说明

指定命令组或选项组中的按钮数。应用于命令组,选项组。
21.Cancel
指定一个命令按钮或OLE容器控件是否为“取消”按钮;即当用户按ESC键时,“取消”按钮的Click事件是否发生。应用于命令按钮,OLE容器控件。
22.Caption
指定在对象标题中显示的文本。应用于ActiveDoc对象,复选框,命令按钮,表单,标头,标签,选项按钮,页面,_SCREEN,工具栏。
14.BorderColor
指定对象的边框颜色。应用于组合框,命令组,容器对象,控件对象,图象,线条,列表框,选项组,页框,形状,文本框。
15.BorderStyle
指定对象的边框样式。应用于命令组,编辑框,表单,图象,标签,线条,选项组,_SCREEN,形状,文本框。
16.BorderWidth
12.BackColor
指定用于显示对象中文本和图形的背景色或前景色。应用于复选框,列,组合框,命令组,容器对象,控件对象,编辑框,表单,表格,标头,标签,选项按钮,选项组,页面,屏幕,形状,微调,文本框,工具栏。
13.ForeColor
同BackColor。应用于复选框,命令按钮,列,组合框,容器对象,控件对象,编辑框,表单,表格,标头,标签,选项按钮,页面,屏幕,微调,文本框,工具栏。
对几个表达式求值,并返回有最大值的表达式。
31.MESSAGEBOX()
显示一个用户自定义对话框(见学习指导)。
32.MIN(表达式1,表达式2[,表达式3,…])
对几个表达式求值,并返回有最小值的表达式。
33.MOD(被除数,除数)
返回余数。
34.MONTH(日期)
vf函数命令大全

vf函数命令大全在这里收集了大部分VF函数命令,比如常见mod(x1,x2)命令,它这个命令可以有取小数位的功能,比如:?mod(25.263,1),最后结果为0.263字符及字符串处理函数:1.取子串函数:格式:substr(c,n1,n2)功能:取字符串C第n1个字符起的n2个字符.返回值类型是字符型.例:取姓名字符串中的姓.store "王小风" to xm?substr(xm,1,2)结果为:王2.删除空格函数:以下3个函数可以删除字符串中的多余空格,3个函数的返回值均为字符型. trim(字符串):删除字符串的尾部空格alltrim(字符串):删除字符串的前后空格ltrim(字符串):删除字符串的前面的空格例:去掉第一个字符串的尾空格后与第二个字符串连接store "abcd " to xstore "efg" to y?trim(x)+yabcdefg3.空格函数:格式:space(n)说明:该函数的功能是产生指定个数的空格字符串(n用于指定空格个数).例:定义一个变量dh,其初值为8个空格store space(8) to dh4.取左子串函数:格式:left(c,n)功能:取字符串C左边n个字符.5.取右子串函数:格式:right(c,n)功能:取字符串c右边的n个字符例:a="我是中国人"?right(a,4)国人?left(a,2)我6.empty(c):用于测试字符串C是否为空格.7.求子串位置函数:格式:At(字符串1,字符串2)功能:返回字符串1在字符串2的位置例:?At("教授","副教授")28.大小写转换函数:格式:lower(字符串)upper(字符串)功能:lower()将字符串中的字母一律变小写;upper()将字符串中的字母一律变大写例:bl="FoxBASE"?lower(bl)+space(2)+upper(bl)foxbase FOXBASE9.求字符串长度函数:格式:len(字符串)功能:求指定字符串的长度例:a="中国人"?len(a)6二.数学运算函数:1.取整函数:格式:int(数值)功能:取指定数值的整数部分.例:取整并显示结果?int(25.69)252.四舍五入函数:格式:round(数值表达式,小数位数)功能:根据给出的四舍五入小数位数,对数值表达式的计算结果做四舍五入处理例:对下面给出的数四舍五入并显示其结果?round(3.14159,4),round(2048.9962,0),round(2048.9962,-3)3.1416 2049 20003.求平方根函数:格式:sqrt(数值)功能:求指定数值的算术平方根例:?sqrt(100)104.最大值、最小值函数:格式:Max(数值表达式1,数值表达式2)Min(数值表达式1,数值表达式2)功能:返回两个数值表达式中的最大值和最小值例:x1=123.456x2=234.567?max(x1,x2)234.567?min(x1,x2)123.4565.求余数函数:格式:mod(表达式1,表达式2)功能:求表达式1对表达式2的余数例:?mod(10,3)16.求指数、对数函数:格式:exp(数值表达式)log(数值表达式)功能:(1).exp()计算自然数e为底,表达式的值为指数的幂(2).log()计算表达式值的自然对数,返回lnx的值.例:x=1y=exp(x)?exp(x),log(x)2.72 1三.转换函数:1.数值转数字字符串函数:格式:str(n,n1,n2)功能:将数值n转换为字符串,n1为总长度,n2为小数位例:?str(321.56)322 &&隐含四舍五入取整转换为字符型数据?str(321.56,6,2)321.562.字符转数值函数:格式:val(s)功能:将数字字符串s转换为数值例:x="23"y="76"?val(x)+val(y)1003.字符转日期函数:格式:ctod(c)功能:将日期字符串c转换为日期例:set date ansi &&日期格式设为美国标准化协会格式?ctod("^2005.11.14")2005.11.144.日期转字符函数:格式:dtoc(d)功能:将日期d转化为日期字符串例:将日期型数据转化为字符型日期数据并显示汉字日期. set century on &&开启世纪前缀,即日期中年份用4位表示set date ansirq={^2005.11.14}rq=dtoc(rq)?substr(rq,1,4)+"年"+substr(rq,6,2)+"月"+substr(rq,9,2)+"日"2005年11月14日5.时间转字符函数:格式:ttoc(时间)功能:将时间转为时间字符串6.字符转时间函数:格式:ctot(c)功能:将时间字符串转化为时间7.字符串替换函数:格式:stuff(<字符表达式1>,<起始位置>,<字符个数>,<字符表达式2>)功能:从指定位置开始,用<表达式2>的值去替换<表达式1>中指定个数字符.若<字符个数>为零,直接插入;若<表达式2>为空字符串,则删除<表达式1>中指定个数的字符.例:X="祝大家新年好!"?stuff(X,7,4,"春节")祝大家春节好?stuff(X,11,0,"春节")祝大家新年春节好?stuff(x,7,4," ")祝大家好8.字符转ASCⅡ码函数:格式:Asc(<字符表达式>)功能:把<字符表达式>左边第一个字符转成相应的ASCⅡ码值例:x="Foxpro"?Asc(x),Asc(lower(x))70 1029.ASCⅡ码值转字符函数:格式:chr(数值表达式)功能:把数值转成相应的ASCⅡ码字符,返回值为字符型例:?chr(70)+chr(111)+chr(111+9)Fox四.日期函数:1.系统日期函数:格式:date()功能:给出系统的当前日期,返回值是日期型数据.例:显示系统日期?date()11/14/05set date ansiset century on?date()2005.11.142.年、月、日函数:格式:(1).year(日期表达式):从日期表达式中返回一个由四位数字表示的年份.(2).month(日期表达式):从日期表达式中返回一个用数字表示的月份.(3).day(日期表达式):从日期表达式中返回一个用数字表示的日数.例:测试系统日期rq=date()?year(rq),month(rq),day(rq)2005 11 143.系统时间函数:格式:time()功能:得到当前时间字符串例:?time()20:32:264.系统日期时间函数:格式:datetime()功能:得到当前日期时间例:?datetime()2005.11.14 08:35:12 PM5.星期函数:格式:dow(日期表达式)cdow(日期表达式)功能:dow用数字表示星期,1表示星期日,7为星期六;cdow用英文表示星期例:?date()2005.11.15?dow(date()),cdow(date())3 Tuesday五.测试函数:1.测试文件尾函数:格式:eof([n])说明:(1).n指定被测工作区号,其范围为1~32767(2).该函数用于测试指定工作区中的表的记录指针是否指向文件尾,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试文件记录指针是否指向文件尾use 职工档案go bottom?eof().F.skip?eof().T.2.测试文件头函数:格式:bof([n])说明:(1).n指定被测工作区号,其范围为1~32767(2).用于测试指定工作区中的表的记录指针是否指向文件头,是则返回真值;否则返回假值;省略可选项指当前工作区.例:测试记录指针是否指向文件头use 职工档案go top?bof().f.skip -1?bof().t.3.测试当前记录号函数:格式:recno()功能:得到当前的记录号例:use 职工档案?recno()1skip?recno()24.测试表文件记录数函数:格式:reccount()功能:得到表的记录数例:测试"职工档案"表的记录数use 职工档案?reccount()55.测试表字段数函数:格式:fcount()功能:得到当前的字段数例:测试"职工档案"表共有多少个字段use 职工档案?fcount()96.测试查找记录是否成功函数:格式:found()功能:测试find、seek和locate命令查找记录是否成功.如成功则返回真值,否则为假值.例:在"职工档案"表中查找"小刚"的文化程度use 职工档案locate for 姓名="小刚"?found().t.display7.文件测试函数:格式:file(字符表达式)功能:测试字符表达式指定的文件是否存在例:?file("e:\myvfp\职工档案.dbf").t.8.数据类型测试函数:格式:type(字符表达式)功能:测试表达式的数据类型,返回大写字母:N(数值)、C(字符)、L(逻辑)、D(日期)、M(备注) 例:x=1236y="hello"?type("x")N?type("y")C9.测试工作区函数:格式:select()功能:返回当前工作区的区号10.测试别名函数:格式:alias()功能:测试当前工作区的别名例:select 1use 职工档案alias zgdaselect 2use 工资情况?alias()工资情况&&打开表时,不指定别名,表名即为别名select zgda &&通过别名选择工作区?select()111.表文件名函数:格式:dbf()功能:返回当前工作区打开的表名例:use 工资情况?dbf()e:\myvfp\工资情况六.其它函数:1.宏替换函数:格式:&变量名说明:vfp中只有宏替换函数没有括号.功能是返回指定字符型变量中所存放的字符串.例:为"工资情况"表中每个人加100元工资gz="工资"use 工资情况replace all &gz with &gz+1002.条件函数:格式:iif(表达式,表达式1,表达式2)功能:若表达式值为真,则返回表达式1的值;否则返回表达式2的值;函数返回值类型与表达式1或表达式2类型一致a=3b=5?iif(a>b,"高兴","开心")开心3.消息框函数:格式:messagebox(提示文本[,对话框类型[,对话框标题文本]])功能:显示提示对话框说明:(1)对话框类型见表1:对话框类型功能0 仅"确定"按钮1 "确定"和"取消"按钮2 "终止","重试"和"忽略"按钮3 "是","否"和"取消"按钮4 "是"和"否"按钮5 "重试"和"取消"按钮16 stop图标32 ?图标48 !图标64 i图标0 默认第1个按钮256 默认第2个按钮512 默认第3个按钮(2).返回值见表2:返回值按钮1 确定2 取消3 终止4 重试5 忽略6 是7 否例:分析messagebox("您确实要退出系统吗?",4+64,"提示信息")会弹出什么样的窗口.分析:回头观察此函数的格式,弹出的对话框中的提示文本是"您确实要退出系统吗",对话框标题是"提示信息",函数中间有"4+64",其中4指定对话框中出现"是"和"否"两个按钮(见表1),64指定对话框中出现i图标(见表2)ok,我们在命令窗口依次执行下列命令:tui=messagebox("您确实要退出系统吗?",4+64,"提示信息")&&变量tui用于接收messagebox函数的返回值,弹出的窗口如图1?tui&&变量tui值取决于运行时用户点了哪个按钮,如果点了"是",返回6,如果点了"否",返回7,见表2说明:实际应用中,我们常在系统菜单或在表单的"退出"按钮中添加如下代码:tui=messagebox("您确实要退出系统吗?",4+64,"提示信息")if tui=6 &&如果此条件成立,说明用户点了"是"按钮,执行quit命令,安全退出quitendif。
vfp中的常用函数与命令

VFP常用的命令和函数1.数据库操作语言使用可以CLOSE 命令关闭各种类型的文件。
DBC( ) 函数返回当前数据库的名称和路径。
SQLCANCEL( ) 函数请求取消一条正在执行的 SQL 语句。
SQLCOMMIT( ) 函数提交一个事务处理。
SQLCONNECT( ) 函数建立一个对数据源的连接。
SQLDISCONNECT( ) 函数完毕一个对数据源的连接。
SQLEXEC( ) 函数发送一条 SQL 语句到数据源中处理。
SQLGETPROP( ) 函数获取一个活动连接的当前设置。
SQLMORERESULTS( ) 函数如果存在多个可用的结果集,则将另一个结果集复制到Visual FoxPro 临时表(cursor)中。
SQLROLLBACK( ) 函数取消当前事务处理期间所做的任何更改。
SQLSETPROP( ) 函数指定一个活动连接的设置。
SQLSTRINGCONNECT( ) 函数使用一个连接字符串建立与数据源的连接。
TABLEREVERT( ) 函数放弃对缓冲行、缓冲表或临时表(cursor)的修改。
TABLEUPDATE( ) 函数提交对缓冲行、缓冲表或临时表(cursor)适配器的修改。
字段操作语言使用可以BLANK 命令清除字段中的数据。
DELETED( ) 函数指出一个记录是否被标记为删除。
FCOUNT( ) 函数返回一个表中的字段数量。
FIELD( ) 函数根据编号返回表中的字段名。
GATHER 命令用来自指定源的数据替换记录中的数据。
SCATTER 命令从当前记录中复制数据到指定的目标。
SET EXACT 命令指定比较不同长度两个串时的规则。
索引操作语言使用可以INDEX 命令创建一个索引文件。
SET ORDER 命令指定表的主控索引文件或标识。
记录操作语言使用可以APPEND FROM 命令添加记录到一个表。
APPEND MEMO 命令复制一个文本文件的容到一个备注字段。
Visual FOXPRO中的常用命令和函数

从另一个文件中提取数据添加到当前数据表的尾部:APPEND FROM filename|? [FIELDS字段名列表][ FOR条件]
其中filename所指定的文件可以是数据表、EXCEL电子表格、文本文件等,如果不是数据表,需要其它子句指定格式(详见手册)。
执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。
从当前打开的数据库中删除视图:DELETE VIEW viewname
打开一个表:USE tablename|? [IN工作区号]
将当前数据表与另一数据表连接后建立一个新表:JOIN WITH工作区号|表别名TO tablename FOR条件[FIELDS字段名表]
建立单索引文件:INDEX ON表达式TO单索引文件名[FOR<条件>] [UNIQUE] [COMPACT] [ASCENDING][DESCENDING][ADDITIVE]
建立复合索引文件:INDEX ON表达式TO TAG索引名[OF复合索引文件名] [FOR条件] [UNIQUE|CANDIDATE]
如果没有指定类型,则复制一个与当前的表相同的数据表。
复制表的结构:COPY STRUCTURE TO filename [FIELDS字段名列表]
复制任何文件:COPY FILE源文件TO目的文件
如果用此命令复制表,表须关闭
从磁盘上删除任意文件:(1)ERASE filename|?(2)DELETE FILE [filename|?]
从当前打开的数据库中删除数据表:REMOVE TABLE tablename|? [DELETE]
如果包含DELETE子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。
VFP函数大全和命令集合

VFP函数大全%运算符用于计算并返回两个数值表达式相除之后的余数$(包含)运算符用于进行字符表达式之间的包含关系运算,如果一个字符表达式包含在另一个字符表达式之中,则函数返回真ABS() 计算并返回指定数值表达式的绝对值ACLASS() 用于将一个对象的父类名放置于一个内存数组中ACOPY() 把一个数组的元素拷贝到另一个数组中ACOS() 计算并返回一个指定数值表达式的余弦值ADATABASES() 用于将所有打开的数据库名和它的路径存入一个内在变量数组中ADB OBJECT S() 用于把当前数据库中的连接、表或SQL视图的名存入内存变量数组中ADEL() 用于从一维数据中删除一个元素,或从二维数组中删除一行或者一列元素ADIR() 将文件的有关信息存入指定的数组中,然后返回文件数AELEMENT() 通过元素的下标,返回元素号AFIELDS 将当前的结构信息存入数组中,然后返回表中的字段数AFONT() 将可用字体的信息存入数组中AERROR() 用于创建包含VFP或ODBC错误信息的内存变量AINS() 在一维数组中插入一个元素或在二维数组中插入一行或一列元素AINSTANCE() 用于将类的所有实例存入内存变量数组中,然后返回数组中存放的实例数ALEN() 返回数组中元素、行或者列数ALIAS() 返回当前工作区或指定工作区内表的别名ALLTRIM() 从指定字符表达式的首尾两端删除前导和尾随的空格字符,然后返回截去空格后的字符串AMEMBERS() 用于将对象的属性、过程和成员对象存入内存变量数组中ANSITOOEM() 将指定字符表达式中的每个字符转换为MS-DOS(OEM)字符集中对应字符APRINTERS() 将Print Manager中安装的当前打印机名存入内存变量数组中ASC() 用于返回指定字符表达式中最左字符的ASCII码值ASCAN() 搜索一个指定的数组,寻找一个与表达式中数据和数据类型相同的数组元素ASELOBJ() 将活动的Form设计器当前控件的对象引用存储到内存变量数组中ASIN() 计算并返回指定数值表达式反正弦值ASORT() 按升序或降序排列数组中的元素ASUBSCRIPT() 计算并返回指定元素号的行或者列坐标AT() 寻找字符串或备注字段在另一字符串或备注字段中的第一次出现,并返回位置ATAN() 计算并返回指定数值表达式的反正切值ATC() 寻找字符串或备注字段中的第一次出现,并返回位置,将不考虑表达式中字母的大小写ATCLINE() 寻找并返回一个字符串表达式或备注字段在另一字符表达式或备注字段中第一次出现的行号。
VFP函数和操作命令

•求整函数–int (<数值表达式>) 功能:返回整数部分–Ceiling (<数值表达式>) 功能:返回大于或等于它的最小数–floor (<数值表达式>)功能:返回小于或大于它的最大数•四舍五入函数–round (<数值表达式1>,<数值表达式2>)•求字符串函数–len (<字符表达式>) 功能:返回指定字符表达式值的长度•大小写转换函数–lower (<字符表达式>) 功能:字母转成小写,字符不变–Upper (<字符表达式>)功能:字母转成大写,字符不变•空格字符串生成函数–space(<数值表达式>)功能:返回由指定数目的空格组成的字符串。
•删除前后空格函数–rtrim (<字符表达式>)功能:去掉尾部空格后形成的字符串–Ltrim (<字符表达式>)功能:去掉前导空格后形成的字符串–alltrim (<字符表达式>)功能:去掉前导和尾部空格形成的字符串•求子串函数–left (<字符表达式>,<长度>) 功能:取左边–Right (<字符表达式>,<长度>)功能:取右边–substr (<字符表达式>,<起始位置>,<长度>) 功能:从起始开始取起,作为函数值•日期和时间函数–date () 功能:返回系统当前日期,函数值:日期型–Time () 功能:以hh:mm:ss格式返回当前时间,为字符型–Datetime () 功能:返回当前日期时间,函数值:日期型•求年份、月份、天数函数(返回值:数值型)–year (<日期表达式>|<日期时间表达式>):从指定日期当中返回年份–Month (<日期表达式>|<日期时间表达式>):从指定日期当中返回月份–Day (<日期表达式>|<日期时间表达式>):从指定日期当中返回天数•时、分、秒函数(函数值:数值型)–hour (<日期时间表达式>) 功能:返回小时部分–Minute (<日期时间表达式>)功能:返回分钟部分–Sec (<日期时间表达式>)功能:返回秒数部分•数值转换成字符串–str (<数值表达式>[,<长度>[,<小数位数>]]):将<数值表达式>的值转成字符串,转换时根据需要自动四舍五入。
VFP常用命令

VFP常用命令,函数,属性,事件和方法一.常用命令1.CREATE TABLE-SQL创建一个含有指定字段的表。
2.ALTER TABLE-SQL以编程方式修改表的结构。
3.SELECT激活指定工作区。
4.USE打开一个表及其相关索引文件,或打开一个SQL视图。
5.CLOSE TABLES关闭所有打开数据库中的所有表。
6.COPY STRUCTURE用当前选择的表结构创建一个新的空自由表。
7.COPY TO用当前选定表的内容创建新文件。
8.RENAME TABLE重命名当前数据库中的表。
9.BROWSE打开浏览窗口。
10.A PPEND在表的末尾添加一个或多个新记录。
11.A PPEND FROM从一个文件中读入记录,添加到当前表的尾部。
12.G O/GOTO将记录指针移到指定记录上。
13.L OCATE按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。
14.S EEK在一个表中搜索首次出现的一个记录。
15.S KIP使记录指针在表中向前或向后移动。
16.C ONTINUE继续执行先前的LOCA TE命令。
17.E DIT显示要编辑的字段。
18.D ELETE给要删除的记录做标记。
19.D ELETE-SQL给要删除的记录做标记。
20.P ACK从当前表中永久删除有删除标记的记录。
21.R ECALL恢复所选表中带删除标记的记录。
22.Z AP从表中删除所有记录。
23.I NSERT-SQL在表尾追加一个包含指定字段值的记录。
24.R EPLACE更新表的记录内容。
25.U PDATE-SQL以新值更新表中的记录。
26.S ET EXCLUSIVE指定Visual FoxPro在网络上是以独占方式,还是以共享方式打开表文件。
27.S ET FILTER指定访问当前表中记录时必须满足的条件。
28.S ET DELETED指定Visual FoxPro 是否处理标有删除标记的记录。
29.S ET INDEX打开一个或多个索引文件,供当前表使用。
VFP命令、函数及程序语句大全

VFP命令、函数及程序语句大全展开全文VFP命令、函数及程序语句大全2008-10-24 16:31:09| 分类: VFP资料 | 标签: |字号大中小订阅VFP命令是一种实现对数据库系统进行操作的动词或短语。
VFP 命令可在VFP命令窗口中单独运行,也可编制成程序成批运行,由命令和函数编制的程序可对数据库系统进行自动、复杂的操作,使数据库系统应用起来更加友好、方便。
¨ VFP常用命令分类表¨命令格式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/TOAPPEND FROM,COPY FILE TO <目标文件>2.限制记录范围(SCOPE)ALL 所有记录NEXT<n> 本记录后的第几个记录RECORD<1> 第1个记录REST 当前记录之后所有记录3.选择字段FIELDS<字段表>选择输入/输出的字段。
4.限制条件FOR/WHILE<条件>FOR 基本工资>100 .AND.基本工资<200¨命令格式规则命令的行为单位,一行书写不完,在未尾加上“;”第二行接着写。
VF常用命令和函数大全

VF常用命令和函数大全一、主要命令:一、主要命令:1、CREATE作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。
)说明:文件指建立以.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|DISP [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所有的记录。
VFP命令及函数

1、*和&&命令功能:注释说明P26*:将整个命令行定义为注释内容,且必须为命令行第一个字符&&:对所在行命令进行注释说明,用于命令后面2、?和??命令功能:显示表达式的值P26?:换行??:不换行3、clear命令P27功能:清除当前VFP主窗口中的信息,下次显示信息时从窗口的左上角开始语法格式:clear4、dir命令P27功能:显示文件夹中文件的信息语法格式:dir[文件路径][支持通配符的文字说明]例:dir&&显示当前目录中扩展名为.dbf的表文件dir *.prg&&显示当前目录中扩展名为.prg的文件dir c:\windows\s*.txt&&显示c盘文件夹中以s字符开头的.txt的文件5、md/rd/cd命令P27md功能:创建文件夹rd功能:删除文件夹cd功能:改变当前工作目录语法格式:md//rd/cd 路径或目录例:md c:\vfp &&在d盘目录中创建一个名为vfp的文件夹cd c:\vfp &&将默认的工作目录更改为指定的目录md tsgl&&在d盘vfp文件夹中创建一个名为tsgl的文件夹rdtsgl&&删除d盘vfp文件夹中名为tsgl的文件夹6、copy file/rename/delete file命令P27copy file功能:复制文件rename功能:对文件进行重命名delete file功能:删除文件语法格式:copy file 文件1 to 文件2rename 文件1 to文件2(rename可以在改名的同时进行文件的移动)delete file 文件名[recycle] 是否将所选文件放入回收站7、run命令功能:执行程序P28语法格式:run [/n] 程序名(不用加后缀名)/n表示不需要等待该命令执行结束即可以执行另一个windows应用程序8、quit命令功能:结束当前VFP的命令P2810、给内存变量赋值:(一个简单内存变量使用之前不需要事先定义或声明)P38语法格式:内存变量名= 表达式&&一次只能给一个内存变量赋值Store 表达式= 内存变量名&&同时给多个内存变量赋相同值11、数组的声明P39语法格式:dimension/declare 数组名(行数[,列数])12、数组的赋值P39(1)每个数组元素的默认值为.F.(2)用赋值命令可分别为各数组元素赋值,也可为数组名赋值(3)b=123 &&对数组b的所有元素赋以12313、内存变量的显示P40语法格式:list/display memory [like ]功能:显示内存变量的当前信息区别:如果内存变量一屏显示不下时,list memory会自动向上滚动,display memory会显示一屏后暂停,按任意键之后继续显示下一屏14、内存变量的保存P40语法格式:save to 文件名[all like /all except ]功能:将内存变量保存到内存变量文件中filename默认扩展名为.mem15、内存变量的恢复P40语法格式:restore from 文件名[additive]功能:将内存变量文件中所保存的内存变量恢复到内存若使用additive,则当前已存在的内存变量仍保留,否则当前内存中的简单内存变量被清除16、设置字符排序序列P43语法格式:set collate to machine/pinyin/strokeMachine:空格<大写字母<小写字母<拼音<笔画Pinyin:英文:空格<a<A<b<B;汉字:按拼音Stroke:英文:空格<a<A<b<B;汉字:按笔画16、exact设置与字符串精确比较P43Off:如果左长右短,则左边字符串取同右边长度相同的子字符串进行比较On:现在较短字符串尾部加上若干空格再比较17、宏替换P44功能:替换出字符型变量的内容语法格式:&内存变量名(只能是字符型) [.表达式]例:cvar=”南京审计学院”? “&cvar.是一所财经类大学”&&南京审计学院是一所财经类大学数值函数18、abs( )P45功能:取绝对值19、int( )P45功能:取整20、max( )和min( )P45所有表达式数据类型必须一致21、mod( )P46功能:求模语法格式:mod(被除数,除数)被除数决定返回值中的小数位数;除数决定返回值正负;被除数与出书同号,则返回值为两数相除余数;被除数与除数异号,返回值为两数相除的余数加上除数22、round( )P46功能:四舍五入语法格式:round(数值表达式,小数位数)小数位数>=0,表示表达式要保留的小数位数;小数位数<0,返回值在小数点左边包含零的个数为小数位数的绝对值23,、sqrt( )P46功能:返回表达式平方根24、rand( )P47功能:返回一个0到1之间的随机数字符函数25、space( )P47功能:生成空格26、len( )P47功能:返回字符表达式中字符的数目27、alltrim( ):删除字符表达式的前导和尾部空格P47ltrim( ):删除字符表达式的前导空格rtrim( )/trim( ):删除字符表达式的尾部空格28、left(表达式,字串长度)P48功能:从字符表达式最左边字符开始返回指定数目的子字符串right(表达式,字串长度)功能:从字符表达式最右边字符开始返回指定数目的子字符串Substr(表达式,开始截取子串的起始位置[,截取的字串长度])功能:从字符表达式中返回子字符串,若起始位置为0则返回空字符串29、at(搜索的字符表达式,被搜索的字符表达式[,第几次出现])P48功能:返回一个字符表达式在另一个字符表达式中出现的位置如果不想区分字符的大小写,可使用atc( )30、like(表达式1,表达式2) P49功能:确定一个走覅表达式是否与另一个字符表达式相匹配31、lower( ):把字符表达式中的大写字母转换成小写字母P49upper( ):把字符表达式中的小写字母转换成大写字母日期与时间函数32、date( ):返回当前系统日期,返回值为日期型P49time( ):以24小时制的hh:mm:ss返回当前系统时间,返回值为字符型datetime( ):返回当前系统日期时间,返回值为日期时间型33、year( ):返回日期或日期时间表达式中的年份P49month( ):返回日期或日期时间表达式中的月份day( ):返回日期或日期时间表达式中是某月中的第几天34、dow(日期表达式、日期时间表达式)P50功能:返回该日期是一周的第几天(第一天为星期天)数据类型转换函数35、str(数值表达式[,返回的字符串长度[,小数位数]]P50功能:将数值表达式的值转换为字符型数据如果缺少小数位数,则不转换小数部分如果缺少字符串长度和小数位数,则默认字符串长度为10,无小数部分如果存在字符串长度和小数位数,转换时首先满足整数部分,再自动调整小数位数如果字符串长度<表达式的整数部分位数,则返回*****如果字符串长度>表达式长度,则字符串前面加前导空格36、val( )P50功能:将含有数字字符的字符型数据转换为数值型数据若字符串内出现非数字字符就停止转换(浮点型除外)若首字符为非数字字符,则返回值为0,忽略前导空格37、dtoc(日期型数据、日期时间型数据[,1])P51功能:将日期型或日期时间型数据日期部分转换为字符型数据如果使用1,则结果字符串为YYYYMMDDttoc(日期时间型数据[,1])功能:将日期时间型数据转换为字符型数据如果使用1,则结果字符串为YYYYMMDDHHMMSS38、ctod( ):将字符型数据转换为日期型数据P51ttod( ):将字符型数据转换为日期时间型数据39、asc( ):返回最左边字符的ascii值40、chr( ):将数值表达式的值作为ascii值返回对应的字符P52asc(a)=97 asc(A)=65其他常用函数41、between(测试的表达式,下界,上界)P52功能:判断一个表达式的值是否在另外两个相同类型的表达式的值中间返回值:逻辑型42、iif(测试条件,表达式1,表达式2)P52功能:根据逻辑表达式的值,返回两个值中的某一个例:43、type( ):返回字符表达式内容的数据类型P5344、messagebox(在对话框中显示的文本[,对话框中的按钮图标默认按钮[,对话框标题栏中的文本]])功能:显示一个用户自定义对话框P53缺少标题时显示Microsoft Visual FoxPro默认按钮值:0第一个按钮为默认按钮256第二个按钮为默认按钮512第三个按钮为默认按钮Messagebox( )返回值由所选取按钮决定确定 1 忽略 5取消 2 是 6放弃 3 否7功能:返回一个编号,该编号对应于键盘缓冲区中按键操作不包含秒数,返回值为0秒数为0时,一直等到有键击为止,返回该键ascii值秒数不为0时,秒数内无键盘输入时,返回0;有键盘输入时,返回该键ascii值46、file(文件名) P54功能:测试磁盘上是否存在指定文件返回值:逻辑型47、getfile([文件扩展名(下面)][,提示文本(上面)]) P54功能:显示“打开”对话框,并返回选定文件的名称48、isnull( ) P55功能:判断表达式计算结果是否为null值返回值:逻辑型区别:数据库的使用49、打开数据库P67语法格式:open database [数据库名/?] [exclusive] [shared] [validate] [noupdate] exclusive独占方式shared共享方式validate打开时对数据库进行有效性检验noupdate只读方式50、设置当前数据库P68语法格式:set database to 数据库名如果没有数据库名,则所有打开的数据库都不是当前数据库51、修改数据库(打开数据库设计器)P68语法格式:modify database [数据库名/?]52、关闭数据库P68语法格式:modify database [all]如果仅仅关闭当前数据库,必须先指定当前数据库,然后再关闭53、删除数据库P69语法格式:delete database 数据库/? [deletetables]如果选择deletetables,则删除数据库同时删除其中的表54、检查数据库有效性P70语法格式:validate database [recover]表的创建和修改55、create table-SQL创建表结构P74语法格式:create table 表名[free] (字段名字段类型(字段宽度,小数位数)) [null/not null] [check表达式1[error表达式2]] [default默认值] [primary key/unique]Primary key主关键字unique候选关键字56、alter table-SQL修改表结构P76语法格式:(1)增加字段(字段类型千万不能省!!!)Alter table 表名add [column] 字段名字段类型(字段宽度,小数位数) [null/not null] [check表达式1[error表达式2]] [default默认值] [primary key/unique](2)更改字段Alter table表名alter [column] 字段名[null/not null] [set check表达式1[error表达式2]] [set default默认值] [primary key/unique](3)删除字段Alter table 表名drop [column] 字段名(4)重命名字段Alter table 表名rename [column] 字段名1to字段名2数据库与自由表57、添加数据库表P77语法格式:add table 表名/?功能:将指定的表添加到当前数据库中58、移去数据库表P77语法格式:remove table 表名/?功能:将指定的表从当前数据库中移去59、解除后链P77语法格式:free table 表名功能:解除后链,使之成为自由表表的使用60、使用use命令打开表P79语法格式:use 表名[alias表别名][noupdate][exclusive][shared][in 工作区域]若打开的是非当前数据库中的表,可使用数据库名!表名61、select(0/1/表别名) P80功能:查看表在哪个工作区打开0,返回当前工作区编号1,返回32767指定表别名,返回其所在工作区62、关闭表P80(1)use命令语法格式:use [in 工作区域/表别名](2)close命令语法格式:close all关闭所有打开的数据库和表close关闭当前所有打开的表但不关闭数据库63、追加表记录(1)append命令P81Append:打开表的浏览或编辑窗口,等待用户立即在表的尾部追加记录Append blank:在表的尾部追加了一条空记录,等待用户以后编辑(2)append from命令(可以向表中追加其他文件)P81语法格式:append from 文件名[fields可以选取的字段列表][for条件表达式][delimited/xls] Delimited表示追加文本文件.txt;xls表示追加excel文件.xls;默认追加表文件.dbf(3)insert命令(使用前必须先打开表)P82语法格式:insert before:表示在当前记录前面插入新记录insert blank:在当前记录之后插入空记录,不会出现表浏览器(4)insert into-SQL命令(需要插入记录的表如果已经建立了有效性规则或主索引或候选索引时必须使用)P82语法格式:insert into 表名字段名1, 字段名2 values 值1,值2还可以从数组中插入记录语法格式:insert into 表名from array 数组名64、表记录的浏览(1)list命令P83语法格式:list/display [fields字段列表] [for条件表达式] [to printer] [to file文件名] [off]To文件名是指输出到指定的文本文件,默认是在主窗口浏览显示;使用off表示只显示记录内容而不显示记录号(2)browse命令P84语法格式:browse [fields字段列表] [for条件表达式] [freeze可修改的字段名] [noappend] [nodelete] [nomodify] [title浏览窗口标题]Noappend不可追加记录nodelete不可删除记录nomodify不可修改记录65、表记录的筛选P85语法格式:set filter to [表达式]66、表字段的筛选P85语法格式:set field to [字段列表]67、记录的定位(1)goto命令P87语法格式:goto记录号[in工作区号/in表别名] top/bottom功能:实现记录指针的绝对定位(2)skip命令p88语法格式:skip [从当前记录开始移动的记录数] [in工作区号/in表别名]功能:实现记录指针的相对定位(3)locate for命令P88语法格式:locate for 表达式1 [all/next/record/rest] while 表达式2功能:实现记录指针的条件定位All表中的全部记录Next从当前记录开始往下一定数目的记录(包括当前记录)Record具体哪一条记录Rest从当前记录开始到文件尾的所有记录(包括当前记录)记录指针定位到第一条满足条件的记录,如果要定位到另一条,可以使用continue68、有关记录指针定位(1)recno(工作区号/表别名) P88功能:测试当前记录指针所指记录号返回值:数值型(2)bof(工作区号/表别名) P88功能:测试记录指针是否为表文件首部返回值:逻辑型(3)eof(工作区号/表别名) P89功能:测试记录指针是否为表文件末尾返回值:逻辑型(4)reccount(工作区号/表别名) P89功能:返回表中的记录数目返回值:数值型(5)fcount(工作区号/表别名) P89功能:返回指定表的字段数返回值:数值型(6)field(i) P89功能:返回表的第i个字段的名称返回值:字符型例:图书表中有记录69、记录的修改(1)replace P90语法格式:replace字段名1with表达式1,字段名2with表达式2 [all/next/record/rest] [for条件表达式1] [while条件表达式2] [additive]Additive仅对备注型字段有效,使用时表示追加到原备注内容的后面,否则替换原有内容功能:成批替换指定范围的满足条件的记录(2)update-SQL P91语法格式:update [数据库名!]表名set 字段名1=表达式1,字段名2=表达式2 [where条件表达式1[and/or条件表达式2]]功能:成批更新表中满足条件的记录例:将图书表中所有出版社编号为Z014的图书记录,单价下浮10%法1:usetsReplace all djwitndj*0.9 for cbsbh=”Z014”法2:update ts set dj=dj*0.9 where cbsbh=”Z014”70、记录的删除(1)delete P91语法格式:delete [all/next/record/rest] [for条件表达式1] [while条件表达式2] [in工作区号/表别名功能:对指定范围内满足条件的记录置删除标记](2)delete-SQL P92语法格式:delete from [数据库名!]表名[where条件表达式1[and/or条件表达式2]]功能:给表文件中满足条件的记录置删除标记(3)pack(表必须以独占方式打开)P92功能:彻底删除带删除标记的记录zap功能:一次性删除表的全部记录71、记录的恢复P93语法格式:recall [all/next/record/rest] [for条件表达式1] [while条件表达式2]功能:恢复指定范围内满足条件的记录72、带删除标记记录的访问P93Set deleted on忽略带有删除标记的记录Set deleted off允许访问带有删除标记的记录Deleted(工作区号、表别名):测试当前记录是否带删除标记返回值:逻辑型73、记录的复制P93语法格式:copy to文件名[fields字段列表] [all/next/rest/record] [for条件表达式] [sdf/xls Sdf表示系统格式文件,是指将满足条件的记录复制到ascii文本文件中];xls表示复制到excel 电子表格文件中74、记录的统计与汇总P94(1)count语法格式:count [all/next/record/rest] [for条件表达式] [to变量名]功能:统计记录数(2)sum语法格式:sum 数值型字段[all/next/record/rest] [for条件表达式] [to变量名]功能:统计数值型字段的总和,结果存放到变量中(3)average语法格式:average 数值型字段[all/next/record/rest] [for条件表达式] [to变量名]功能:统计数值型字段的平均值,结果存放到变量中(4)total语法格式:total on 关键字段[to文件名] [fields字段列表] [all/next/rest/record] [for条件表达式]功能:按关键字段(预先需要排序)分类汇总数值型字段的和,结果放在文件(.dbf)中表的索引75、76、77、表之间的关系78、建立临时关系P101语法格式:set relation to 关系表达式into 区号/别名功能:建立表之间的临时关系使用命令建立临时关系一般步骤:1、分别在两个工作区中打开需要建立临时关系的表2、设置子表的主控索引3、确定关系表达式4、选择主表工作区,用set relation to命令建立临时关系79、解除临时关系P102语法格式:set relation to当关闭主表或关闭子表时,临时关系也自动解除表的触发器80、81、与数据库属性有关的函数82、dbsetdrop函数P107语法格式:dbsetdrop(需要设置属性的名称,属性类型,属性名称,需要设置的属性值) 常用属性类型:Database数据库Table表Field字段View视图常用属性名称:Caption字段标题Comment注释Defaultvalue字段默认值(该属性只读)RuleExpression表或字段的有效性规则(该属性只读)RuleText表或字段有效性提示文本(该属性只读)功能:为当前数据库或当前数据库中表的字段、表或视图设置属性(只能设置部分属性)83、dbgetdrop函数P107语法格式:dbgetdrop(需要设置属性的名称,属性类型,属性名称)功能:返回当前数据库属性或者返回当前数据库中字段、表或视图的属性。
VFP命令函数及程序语句大全

VFP命令函数及程序语句大全VFP命令是一种实现对数据库系统进行操作的动词或短语。
VFP命令可在VFP命令窗口中单独运行,也可编制成程序成批运行,由命令和函数编制的程序可对数据库系统进行自动、复杂的操作,使数据库系统应用起来更加友好、方便。
¨VFP常用命令分类表类别建立文件类数据库操作类数据编辑类记录指针操作类记录操作类数据显示类数据统计类存变量操作类程序控制类系统设置类¨命令格式命令CREATE,MODIFY,COPY,SAVE等USE,CLOSE,COPY,MODIFYSTRUCTURE等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,DOWHILEENDDO,IFENDIF等SETTALK,SETDEFAULTTO等VFP命令一般由命令动词和控制短语构成。
一般格式:命令动词[FROM][TO][记录范围][FOR/WHILE][FIELDS][]表示可选,<>表示必选,/表示或选例如:(2)COUNTFOR职称=\高工\统计高工的记录数到内存变量GG。
控制短语规定了对数据库操作的限制条件:1.指向输入输出目标FROM/TOAPPENDFROM,COPYFILETO2.限制记录范围(SCOPE)ALL所有记录NE某T本记录后的第几个记录RECORD<1>第1个记录REST当前记录之后所有记录3.选择字段FIELDS选择输入/输出的字段。
4.限制条件FOR/WHILEFOR基本工资>100.AND.基本工资<200¨命令格式规则命令的行为单位,一行书写不完,在未尾加上“;”第二行接着写。
(完整版)VFP常用命令及用法

VFP常用命令及用法、实例命令中用到的范围:ALL: 命令对表中所有记录起作用,即执行时从首记录到末记录,最记录指针停在数据库的末尾.NEXT <expN> 命令作用于从当前记录开始到当前记录后<expN>条记录为止的范围内的记录,最后记录指针指向作用范围内的最后一条记录处。
NEXT 1表示仅作用于当前记录。
Record 〈expN〉命令作用于记录号为〈expN〉的记录.TEST 命令作用范围从当前记录开始到表的最后一个记录为止命令中的FOR子句只作用于满足条件的记录。
一、基本命令1。
打开和关闭数据表USE [<数据表名>] 当省略选项时为关闭当前数据表CLOSE ALL 关闭所有数据表2。
选择当前工作区SELECT 〈工作区号|数据表名|0〉功能:选择当前工作区。
可以直接选择工作区号,也可通过指定其中已经打开的数据表别名来指定工作区。
SELECT 0 是选择当前未使用的最低编号的工作区3. 增加记录APPEND BLANK 在当前表的尾部追加一个空白记录INSERT BLANK 在当前表的当前记录之后插入一条空白记录INSERT BLANK BEFORE 在当前表的当前记录之前插入一条空白记录注意:在表建立索引后,INSERT的功能与APPEND相同4. 替换字段的值REPLACE [范围] <字段1> WITH <表达式1〉[,〈字段2> WITH 〈表达式2〉, ..。
<字段n〉 WITH <表达式n>] [FOR 〈expL>]功能:计算表达式的值,并填入指定字段,当范围和条件选项省略时只对当前记录操作。
5. 删除记录DELETE [范围][FOR 条件]功能:对记录加删除标记(即逻辑删除),当范围和条件选项省略时只对当前记录操作.RECALL [范围] [FOR 条件]功能:对记录去除删除标记(即恢复删除),当范围和条件选项省略时只对当前记录操作。
vfp表常用函数

vfp表常⽤函数基本操作:1、新建数据库命令:CREATE <⽂件名>2、打开数据库命令:USE <⽂件名>3、浏览数据库命令:BROWSE4、查找记录命令:LOCATE 例:Loca all for 性别=’⼥’Loca all for ⼯资>160.00 .AND. ⼯资<180.00常和继续查找命令CONTINUE连⽤。
FIND 例:find <字符串>/使⽤前需要先排序。
SEEK 例:seek <表达式>表达式是字符串时,必须⽤“”引起来。
如seek “卫明”5、增加库记录命令:APPEND &&增加记录命令APPEND BLANK &&增加⼀条空记录APPEND FROM <⽂件名> [FOR<表达式>] &&从⼀个⽂件复制记录到现⾏数据库中6、插⼊记录命令INSERT格式:insert [blank] [before]use <⽂件名>go 5insert before7、库记录的删除DELETE格式:DELETE [<范围>] [FOR<表达式>] [WHILE<表达式>]功能:给符合条件的库记录加上删除标记。
例:delete all for 性别=’⼥’PACK格式:PACK功能;把打开的数据库⽂件中作过删除标记的记录真正删除掉。
ZAP格式:ZAP功能;从打开的数据库⽂件中删除所有记录8、恢复命令RECALL格式;RECALL [<范围>] [FOR<表达式>] [WHILE<表达式>]功能;恢复打开的数据库⽂件中带有删除标记的记录9、库记录的修改EDIT格式:EDIT [<范围>] [FIELDS<字段名表>] [FOR<表达式>] [WHILE<表达式>]CHANGE格式:CHANGE [<范围>] [FIELDS<字段名>] [FOR<表达式>] [WHILE<表达式>]BROWSE格式:BROWSE [FIELDS<字段名>] [LOCK<表达式>] [FREEZE<字段名>]10、替换命令REPLACE格式;REPLACE [<范围>] <字段名1> WITH <表达式1> [,<字段名2> WITH<表达式2>…] [FOR<表达式>] [WHILE<表达式>]功能:⽤来替换打开的数据库⽂件中指定字段的数据。
VFP常用函数大全

Visual Foxpro 常用函数数值函数:1.绝对值和符号函数格式:ABS(<数值表达式>)SIGN(<数值表达式>)例如:ABS(-5)=5,ABS(4)=4,SIGN(8)=1,SIGN(-3)=-1,SIGN(0)=02.求平方根表达式格式:SQRT(<数值表达式>)例如:SQRT(16)=4,它与开二分之一次方等同。
3.圆周率函数格式:PI()4.求整数函数格式:INT(<数值表达式>)返回数值表达式的整数部分CEILING(<数值表达式>)返回大于或等于表达式的最小整数FLOOR(<数值表达式>)返回小于或等于表达式的最大整数例如:INT(5.8)=5.8,INT(-7.8)=-7,CEILING(6.4)=7,CEILING(-5.9)=-5FLOOR(9.9)=95.四舍五入函数格式:ROUND(<数值表达式1>,<数值表达式2>)功能:返回制定表达式在制定位置四舍五入的结果例如:ROUND(345.345,2)=345.35,ROUND(345.345,1)=345.3,ROUND(345.345,0) =345,ROUND(345.345,-1)=3506.求余函数格式:MOD(<数值表达式1>,<数值表达式2>)例如:MOD(10,3)=1 MOD(10,-3)=-2 MOD(-10,3)=2 MOD(-10,-3)=-1求余数的规律:1.首先按照两数的绝对值求余2.表达式1的绝对值大于表达式2的绝对值,则余数为表达式1的值3.余数取表达式1的正负号4.若两数异好号,余数在加上表达式2的值为最终的结果7. 求最大值和最小值函数MAX(数值表达式列表)MIN (数值表达式列表)例如:MAX(2,3,5)=5 MAX(‘2’,’12’,’05’)=2 MAX(‘汽车’,’飞机’,’轮船’)字符串比较的规律:字符串比较首先比较第一个字母,如果有结果那就不用在进行比较了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关联与多表查询
工作区:单个工作区只能打开一个文件,要打开多个文 件必须选择不同的工作区,VFP共提供了1---2551号工 作区。 工作区的选择:SELECT <工作区号> 1-10号工作区可用A-J来代替 SELECT 0表示选择最小的未用的工作区号 SELECT()函数可返回当前工作区号
VFP常用命令
一、文件复制 COPY FILE <文件名1> TO <文件名2> 用RUN或“!”可直接运行DOS命令 二、表的复制 COPY TO <文件名> [范围][条件][FIELDS 字段名 表] 三、表结构的复制 COPY STRUCTURE TO <文件名> [范围][条 件][字段名表] 注:以上两命令表应该先打开
查询与统计
排序与索引 查询 统计
排序
命令格式:SORT TO <新文件名> ON <字段名1> [/A|/C][/C][,<字段名2> [/A|/C][/C]…] [范 围][条件][FIELDS 字段名表] /A:升序 /D:降序 /C:不分字母大小写
索引
一、索引的概念 索引实际上是一种排序,但是它不改变数据表中数据 的物理顺序,而是另外建立一个记录号列表。它与通常 读的图书的索引目录相同,图书中的索引指明了章、节、 目的页码,而表的索引指明由某一字段的值的大小决定 的记录排列的顺序。索引文件中只含有关键字和记录号 两个字段,相对排序文件要小得多,当数据库更新时, 索引文件可以自动更新。 二、索引的种类 主索引、候选索引、普通索引、唯一索引 复合索引(结构复ON <索引关键字> TO <单索引文件名>|TAG <索引标识名> [OF <复合索引文件名>][条 件][COMPACT][ASCENDING][]DESCENDING][UN IQUE][CANDIDATE][ADDITIVE] TO子句:建立单索引文件,为与老版本兼容而设 TAG子句:建立复合索引文件,OF用于非结构复合索引 COMPACT:压缩文件,老版本不能用 ASCENDING/DESCENDING:升序/降序,默认升序 UNIQUE/CANDIDATE:唯一/候选索引 ADDITIVE:不关闭以前打开的索引
四、索引文件的使用 1、打开与关闭 SET INDEX TO [索引文件名表][ADDITIVE] 结构复合索引在打开数据库时自动打开 也可以在打开表时同时打开索引文件 USE <表名> INDEX <单索引文件名表> 2、主空索引的确定 SET ORDER TO [数据表达式|单索引文件名|TAG 索 引标识 SET ORDER TO [0]表示取消主控索引。
LEN(字符表达式):字符串长度; AT (字符表达式1,字符表达式2,[ 数值表达式]): 字符1在字符2中第N次出现的位置; ALLTRIM (字符表达式):删除前后空格; SPACE (数值表达式):返回N个空格; UPPER (字符表达式):小写字母转换成大写字母; LOWER (字符表达式):大写字母转换成小写字母; VAL (字符表达式):字符串转换成数值; STR (数值表达式):数值转换成字符串; CHR (数值表达式):从ASC码返回字符串; ASC (字符表达式):返回字符的ASC码;
八、记录的替换 REPLACE <字段名1> WITH <表达示1> [, <字段名2> WITH <表达示2>] [范围][条件] 九、记录浏览 LIST|DISPLAY [FIELDS <字段名表>] [范围] [FOR <条件 >] [WHILE <条件>] [OFF] [TO PRINT] 注:LIST的默认范围为ALL,而DISPLAY为当前记录 DISPLAY ALL与LIST功能基本相同,区别在于DISPLAY ALL会自动分屏显示。 十、打开数据库 USE <数据库名>:单独的USE表示关闭数据库。
顺序查询
命令格式: LOCATE <条件> [范围] 查找符合条件的第一条记录。 可用FOUND()函数返回是否找到 继续找用CONTINUE。
索引查询
命令格式: SEEK <表达式> • 查找前要先建立索引; • 查找符合条件的第一条记录; • 可用FOUND()函数返回是否找到; • 继续找用CONTINUE; • 模糊查询与精确查询,模糊查询只要查询的字符表达式 与索引关键字左子串相同即认为是找到了,精确查询要 完全相同,可用SET EXACT ON|OFF切换。
VFP的常用函数及常用命令
常用函数
常用命令
常用函数
ABS(数值表达式):绝对值; SQRT (数值表达式) :平方根; EXP (数值表达式) :e的n次方; INT (数值表达式):取整; MAX( 数值表达式1, 数值表达式2 ):最大值; MOD(数值表达式1, 数值表达式2 ):取模,即余数; ROUND (数值表达式1, 数值表达式2 ):四舍五入; RAND (数值表达式):随机数; SUBSTR (字符表达式, 数值表达式1,[ 数值表达式2] ) :从 中间取子串 LEFT (字符表达式, 数值表达式):从左取子串; RIGHT字符表达式, 数值表达式):从右取子串;
3、FOR子句 满足条件的记录 4、WHILE子句 不满足条件时停止 5、FIELDS子句 指定字段 6、OFF子字句 不显示记录号 7、TO PRINT 子句 输出到打印机
三、命令的书则 1、不分大小写; 2、各子句顺序可颠倒; 3、各关键字(包括命令动词和函数等)可 只写前四字母; 4、一行写不下,可用“;”隔开,换行后 再写(在程序中)
3、删除索引 删除索引文件:与删除普通文件相似(先关闭后删除) DELETE FILE 文件名 删除索引标识 DELETE TAG ALL|<索引标识1>[, <索引标识 2>]… 4、索引的更新 已打开的索引文件会自动更新 但如未确定主控索引,则要用REINDEX重新更新。
查询
顺序查询 索引查询 关联与多表查询
关联的建立
关联:两个工作区的记录指针联动,关联共涉及两个表, 一个称为父表、另一为子表。 建立关联的条件:子表必须按关键字建立索引。 种类:一多关系与多一关系,不处理多多关系。 命令格式:SET RELATION TO [<表达式1> INTO < 别名1>,…, <表达式N> INTO <别名N>] 单独的SET RELATION TO 表示解除关联。 SET SKIP TO <表别名1,…, <表别名N> 表示建立 一多关系关联。SET SKIP TO 表示取消一多关系关联。
VFP命令格式及规则
一、命令格式(以List为例): LIST [FIELDS <表达式表>] [范围] [FOR < 条件>] [WHILE <条件>] [OFF] [TO PRINT] 二、各子句功能 1、命令动词 2、范围 ALL:所有记录 NEXT(N):当前记录以下N个 RECORD(N):第N个记录 REST:当前记录到最后记录
四、记录指针的移动 1、GO <记录号>|<TOP>|<BOTTOM> 移动到指定记录、首记录、尾记录 2、SKIP [数值表达式] 缺省为1,正数往下,负数往上 五、记录的插入 INSERT [BLANK][BEFORE] BLANK:插入空记录;BEFORE:在前面, 默认为在当前记录的后面
六、追加记录:(在尾部加) 1、APPEND [BLANK] 2、APPEND FROM <文件名> [范围][条件][FIELDS 字段名表] 成批追加记录 七、记录的删除与恢复 1、DELETE [范围][条件]:逻辑删除 2、PACK:物理删除 3、RECALL [范围][条件]:记录恢复 4、ZAP:清空数据库
几个常用的统计命令
计数命令:COUNT [范围][条件][TO 内存变量] 求和命令:SUM [数值表达式] [范围][条件][TO 内存 变量表|数组] 求平均值:AVERAGE [数值表达式] [范围][条件][TO 内存变量表|数组]
CTOD (字符表达式):将字符表达式转换成日期; DTOC (日期表达式):将日期表达式转换成字符; TIME():返回当前时间; DATE():返回当前日期; EOF():记录指针是否指向首记录; BOF():记录指针是否指向记录尾; FOUND():是否找到 RECNO():当前记录号