FoxPro命令集锦
- 格式:docx
- 大小:18.25 KB
- 文档页数:8
Vfp命令集合Read events 开始事件循环Set safety off 覆盖时不要确认Set stat bar off 将状态栏关闭Set sysmenu off 可关掉系统菜单之区域Set sysmenu to 关闭系统菜单Clear eventQuit_screen.ico=”boy.ico”显示出初始的用户界面后,还需要建立一个事件循环来对用户的操作作出响应。
因此主程序中要用READ EVENTS 语句启动事件循环。
当事件循环开始以后,应用程序将控制权交给最后一个显示出来的界面来处理,这个界面退出时要用CLEAR EVENTS语句结束事件循环。
注意:如果在主文件中没有包含READ EVENTS,在VFP环境中可以正确地运行应用程序,但是离开VFP环境运行应用程序时,会出现程序显示片刻就退出的现象。
一个主程序(.prg)的例子如下:set directory to curdir() &&将程序的资源路径设为当前程序所在的文件夹set sysmenu off &&不显示系统菜单set talk offset safety offset deleted on &&不显示被逻辑删除的记录set century onset date to ymdset mark to .*set status bar off &&不显示VFP状态条on shutdown quit &&若没有这句,可能不能退出VFP。
clearMODIFY WINDOW SCREEN TITLE '图书管理系统' NOCLOSE_SCREEN.CONTROLBOX=.F. &&_SCREEN是系统内存变量(也就是VFP主窗口对象)_SCREEN.WINDOWSTATE=2DO FORM 登录界面.scxREAD EVENTS &&启动事件循环**注意在主界面的退出系统的代码中应有:CLEAR EVENTS注意:如果主文件是一个表单,应在表单的Load事件中设置参数,在Activate 事件中写:READ EVENTS。
⏹表的创建:create 新建自由表,打开表设计器定义字段结构modify structure 打开表设计器修改表的结构list/display structure 显示表的结构⏹表打开关闭:use,close alluse sp 打开sp.dbf表close all 关闭所有打开的表⏹数据的插入:append,insertappend 在当前表的末尾追加一条记录,在编辑窗口输入。
append blank 在当前表的末尾直接追加一条空白记录,暂不输入字段值insert 在当前记录后插入新记录⏹数据的显示:list,displaylist fields商品代码,商品名称,商品单价for商品单价>500显示sp表中商品单价超过500元的纪录的商品代码、商品名称和商品单价字段。
display 和list的区别:1、在缺省范围子句和for子句时,list显示所有记录,display只显示当前记录。
2、显示内容在一屏内显示不下时,list滚屏而过,display会分屏显示。
⏹数据的修改:browse,edit ,changebrowse fields商品代码,商品单价,生产日期,进口否for进口否在浏览窗口中显进口商品的商品代码、商品单价、生产日期和进口否字段,准备修改。
browse 和edit、change的区别:在浏览窗口ide显示格式不同,browse紧凑、edit和change分散一些。
⏹数据的替换:replacereplace all商品单价with商品单价*0.1把所有商品的单价提高10%(用于对字段的值进行定义)。
⏹数据的定位:go,skip,locate,continue绝对定位命令:go top && 将记录指针指向第一条记录go bottom && 将记录指针指向最后一条记录go 5 && 将记录指针指向第5条记录相对定位命令:skip && 向文件尾方向移动1条记录skip +2 && 向文件尾方向移动2条记录skip -3 && 向文件头方向移动3条记录条件定位命令:go 5locate next 10 for year(生产日期)=2006从第5条记录开始的10条记录范围内,指针指向2006年生产商品的第一条记录。
VFP中常用命令一、数据库的建立、打开、关闭和删除建立数据库:CREATE DATABASE [databasename|?]从磁盘中删除数据库:CREATE DATABASE [databasename|?]ELETE DATABASE databasenameDELETE DATABASE databasename|?打开数据库:OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE [databasename|?]指定的数据库databasename为当前数据库。
指定当前的数据库:SET DATABASE TO [databasename]Databasename必须为已经打开的数据库。
如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。
关闭数据库:CLOSE DATABASE [ALL]关闭当前数据库,如果带ALL子句,则关闭所有打开的数据库。
二、数据表和视图的建立、打开、关闭和删除建立数据表(SQL命令):CREATE TABLE | DBF tablename (Col_name1 Type1 [NOT NULL/NULL][{,Col_name2 Type2 [NOT NULL/NULL]}...])table_name是所创建的数据表的名字。
Col_name1,Col_name2,...是表中列的名。
Type1, Type2...是相应列的数据类型(VFP的数据类型见表3-9)。
如果说明为NOT NULL,则列中不允许分配空值(这种情况下,列不能包含空值,如果插入空值,将返回错误信息)。
向当前打开的数据库中添加数据表:ADD TABLE tablename|?从当前打开的数据库中删除数据表:REMOVE TABLE tablename|? [DELETE]如果包含DELETE子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。
VFP常用操作命令
DDL:
1.建立数据库:create database 数据库名
2.建立表:create 表名
3.建立索引 index on 索引表达式 to 索引文件名for 条件范围
DML:
1.选择工作区:select 工作号区|别名
2.打开表:use 表名
3.显示表结构:list /disp lay stru cture
4.显示表记录:list /disp lay field 字段名表for 条件范围
5.修改记录:edit/chang/browse field 字段名表for 条件范围
整批替换:replace 字段名 with 表达式for 条件范围
6.移动指针:绝对移动:go n / goto n
相对移动 skip n
7.插入记录: insert
追加记录:append
8.删除记录:逻辑删除delete for 条件范围
物理删除 pack
Zap
8查找数据:快速查询:find/seek
顺序查询:Locate for条件范围
Continue
9、排序命令:sort to 排序表名 on 字段名/a/d for 条件范围
10、求和命令: sum 字段名表 to 变量名表 for 条件范围
11、求平均值命令: average 字段名表 to 变量名表 for 条件范围。
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后的语句。
Visual foxpro 命令大全和函数大全默认分类2009-09-14 23:42:07 阅读470 评论0 字号:大中小? 在下一行显示表达式串?? 在当前行显示表达式串@... 将数据按用户设定的格式显示在屏幕上或在打印机上打印ACCEPT 把一个字符串赋给内存变量APPEND 给数据库文件追加记录APPEND FROM 从其它库文件将记录添加到数据库文件中AVERAGE 计算数值表达式的算术平均值BROWSE 全屏幕显示和编辑数据库记录CALL 运行内存中的二进制文件CANCEL 终止程序执行,返回圆点提示符CASE 在多重选择语句中,指定一个条件CHANGE 对数据库中的指定字段和记录进行编辑CLEAR 清洁屏幕,将光标移动到屏幕左上角CLEAR ALL 关闭所有打开的文件,释放所有内存变量,选择1号工作区CLEAR FIELDS 清除用SET FIELDS TO命令建立的字段名表CLEAR GETS 从全屏幕READ中释放任何当前GET语句的变量CLEAR MEMORY 清除当前所有内存变量CLEAR PROGRAM 清除程序缓冲区CLEAR TYPEAHEAD 清除键盘缓冲区CLOSE 关闭指定类型文件CONTINUE 把记录指针指到下一个满足LOCATE命令给定条件的记录,在LOCATE命令后出现。
无LOCATE则出错COPY TO 将使用的数据库文件复制另一个库文件或文本文件COPY FILE 复制任何类型的文件COPY STRUCTURE EXTENED TO 当前库文件的结构作为记录,建立一个新的库文件 COPY STRUCTURE TO 将正在使用的库文件的结构复制到目的库文件中COUNT 计算给定范围内指定记录的个数CREATE 定义一个新数据库文件结构并将其登记到目录中CREATE FROM 根据库结构文件建立一个新的库文件CREATE LABEL 建立并编辑一个标签格式文件CREATE REPORT 建立宾编辑一个报表格式文件DELETE 给指定的记录加上删除标记DELETE FILE 删除一个未打开的文件DIMENSION 定义内存变量数组DIR 或DIRECTORY 列出指定磁盘上的文件目录DISPLAY 显示一个打开的库文件的记录和字段DISPLAY FILES 查阅磁盘上的文件DISPLAY HISTORY 查阅执行过的命令DISPLAY MEMORY 分页显示当前的内存变量DISPLAY STATUS 显示系统状态和系统参数DISPLAY STRUCTURE 显示当前书库文件的结构DO 执行FoxBase程序DO CASE 程序中多重判断开始的标志DO WHILE 程序中一个循环开始的标志EDIT 编辑数据库字段的内容EJECT 使打印机换页的命令,将PROW()函数和PCOL()函数值置为0ELSE 在IF...ENDIF结构中提供另一个条件选择路线ENDCASE 终止多重判断ENDDO 程序中一个循环体结束的标志ENDIF 判断体IF...ENDIF结构结束标志ERASE 从目录中删除指定文件EXIT 在循环体内执行退出循环的命令FIND 将记录指针移动到第一个含有与给定字符串一致的索引关键字的记录上FLUSH 清除所有的磁盘存取缓冲区GATHER FROM 将数组元素的值赋予数据库的当前记录中GO/GOTO 将记录指针移动到指定的记录号HELP 激活帮助菜单,解释FoxBASE+的命令IF 在IF...ENDIF结构中指定判断条件INDEX 根据指定的关键词生成索引文件INPUT 接受键盘键入的一个表达式并赋予指定的内存变量INSERT 在指定的位置插入一个记录JOIN 从两个数据库文件中把指定的记录和字段组合成另一个库文件KEYBOARD 将字符串填入键盘缓冲区LABEL FROM 用指定的标签格式文件打印标签LIST 列出数据库文件的记录和字段LIST FILES 列出磁盘当前目录下的文件L I ST HISTORY 列出执行过的命令LIST MEMORY 列出当前内存变量及其值LIST STATUS 列出当前系统状态和系统参数LIST STRUCTURE 列出当前使用的数据库的库结构LOAD 将汇编语言程序从磁盘上调入内存LOCATE 将记录指针移动到对给定条件为真的记录上LOOP 跳过循环体内LOOP与ENDDO之间的所有语句,返回到循环体首行MENU TO 激活一组@...PROMPT命令定义的菜单MODIFY COMMAND 进入FoxBASE+系统的字处理状态,并编辑一个ASCII码文本文件(如果指定文件名以.PRG为后缀,则编辑一个FoxBASE+命令文件)MODIFY FILE 编辑一个一般的ASCII码文本文件MODIFY LABEL 建立并编辑一个标签(.LBL)文件MODIFY REPORT 建立并编辑一个报表格式文件(.FRM)文件MODIFY STRUCTURE 修改当前使用的库文件结构NOTE/* 在命令文件(程序)中插入以行注释(本行不被执行)ON 根据指定条件转移程序执行OTHERWISE 在多重判断(DO CASE)中指定除给定条件外的其它情况PACK 彻底删除加有删除标记的记录PARAMETERS 指定子过程接受主过程传递来的参数所存放的内存变量PRIVATE 定义内存变量的属性为局部性质PROCEDURE 一个子过程开始的标志PUBLIC 定义内存变量为全局性质QUIT 关闭所有文件并退出FoxBASE+READ 激活GET语句,并正是接受在GET语句中输入的数据RECALL 恢复用DELETE加上删除标记的记录REINDEX 重新建立正在使用的原有索引文件RELEASE 清楚当前内存变量和汇编语言子程序RENAME 修改文件名REPLACE 用指定的数据替换数据库字段中原有的内容REPORT FORM 显示数据报表RESTORE FROM 从内存变量文件(.MEM)中恢复内存变量RESTORE SCREEN 装载原来存储过的屏幕映象RESUME 使暂停的程序从暂停的断点继续执行RETRY 从当前执行的子程序返回调用程序,并从原调用行重新执行RETURN 结束子程序,返回调用程序RUN/!在FoxBASE+中执行一个操作系统程序SAVE TO 把当前内存变量及其值存入指定的磁盘文件(.MEM)SAVE SCREEN 将当前屏幕显示内容存储在指定的内存变量中SCATTER 将当前数据库文件中的数据移到指定的数组中 SEEK 将记录指针移到第一个含有与指定表达式相符的索引关键字的记录SELECT 选择一个工作区SET 设置FoxBASE+控制参数SET ALTERNATE ON/OFF 设置传送/不传送输出到一个文件中SET ALTERNATE TO 建立一个存放输出的文件SET BELL ON/OFF 设置输入数据时响铃/不响铃SET CARRY ON/OFF 设置最后一个记录复制/不复制到添加的记录中 SET CENTURY ON/OFF 设置日期型变量要/不要世纪前缀SET CLEAR ON/OFF 设置屏幕信息能/不能被清除SET COLOR ON/OFF 设置彩色/单色显示SET COLOR TO 设置屏幕显示色彩SET CONFIRM ON/OFF 设置在全屏幕编辑方式中,要求/不要求自动跳到下一个字段 SET CONSOLE ON/OFF 设置将输出传送/不传送到屏幕SET DATE 设置日期表达式的格式SET DEBUG ON/OFF 设置传送/不传送ECHO的输出到打印机上SET DECIMALS TO 设置计算结果需要显示的小数位数SET DEFAULT TO 设置默认的驱动器SET DELETED ON/OFF 设置隐藏/显示有删除标记的记录SET DELIMITER TO 为全屏幕显示字段和变量设置定界符SET DELIMITER ON/OFF 选择可选的定界符SET DEVICE TO SCREEN/PRINT 将@...SAY命令的结果传送到屏幕/打印机 SET DOHISTORY ON/OFF 设置存/不存命令文件中的命令到历史记录中SET ECHO ON/OFF 命令行回送到屏幕或打印机SET ESCAPE ON/OFF 允许ESCAPE退出/继续命令文件的执行SET EXACT ON/OFF 在字符串的比较中,要求/不要求准确一致SET EXACLUSIVE ON/OFF 设置数据库文件的共享SET FIELDS ON/OFF 设置当前打开的数据库中部分/全部字段为可用SET FIELDS TO 指定打开的数据库中可被访问的字段SET FILTER TO 在操作中将数据库中所有不满足给定条件的记录排除SET FIXED ON/OFF 固定/不固定显示的小数位数SET FORMAT TO 打开指定的格式文件SET FUNCTION 设置F1-F9功能键值SET HEADING ON/OFF 设置LIST或DISPLAY时,显示/不显示字段名SET HELP ON/OFF 确定在出现错误时,是否给用户提示SET HISTORY ON/OFF 决定是/否把命令存储起来以便重新调用SET HISTORY TO 决定显示历史命令的数目SET INDEX TO 打开指定的索引文件SET INTENSITY ON/OFF 对全屏幕操作实行/不实行反转显示SET MARGIN TO 设置打印机左页边SET MEMOWIDTH TO 定义备注型字段输出宽度和REPORT命令隐含宽度SET MENU ON/OFF 确定在全屏幕操作中是否显示菜单SET MESSAGE TO 定义菜单中屏幕底行显示的字符串SET ODOMETER TO 改变TALK命令响应间隔时间SET ORDER TO 指定索引文件列表中的索引文件SET PATH TO 为文件检索指定路径SET PRINT ON/OFF 传送/不传送输出数据到打印机S ET PRINTER TO 把打印的数据输送到另一种设备或一个文件中SET PROCEDURE TO 打开指定的过程文件SET RELATION TO 根据一个关键字表达式连接两个数据库文件SET SAFETY ON/OFF 设置保护,在重写文件时提示用户确认SET SCOREBORAD ON/OFF 设置是/否在屏幕的第0行上显示FoxBASE+的状态信息SET STATUS ON/OFF 控制是/否显示状态行SET STEP ON/OFF 每当执行完一条命令后,暂停/不暂停程序的执行SET TALK ON/OFF 是否将命令执行的结果传送到屏幕上SET TYPEAHEAD TO 设置键盘缓冲区的大小SET UNIQUE ON/OFF 在索引文件中出现相同关键字的第一个/所有记录SKIP 以当前记录指针为准,前后移动指针SORT TO 根据数据库文件的一个字段或多个字段产生一个排序的哭文件STORE 赋值语句SUM 计算并显示数据库记录的一个表达式在某范围内的和SUSPEND 暂停(挂起)程序的执行TEXT...ENDTEXT 在屏幕上当前光标位置显示...的文本数据块TOTAL TO 对预先已排序的文件产生一个具有总计的摘要文件TYPE 显示ASCII码文件的内容UNLOCK 解除当前库文件对记录和文件的加锁操作UPDATE 允许对一个数据库进行成批修改USE 带文件名的USE命令打开这个数据库文件。
一、第四章 VFP基本命令1.创建: CREATE表名达式[P 69]2.打开数据库:USE 表名[P 73]3. 追加记录:APPEND [BLANK][P 74]成批追加:APPEND FROM 表名[FIELDS 字段名表][FOR 条件式]4.显示记录:LIST/DISPLAY[范围][字段名表][FOR <条件式>][P 76]5. 修改数据库结构:MODIFY STRUCTURE [P 87]6.记录定位:(1)绝对移动:GO/GOTO n/Top/Bottom [P 81](2)相对移动:SKIP ±n7. 插入记录:INSERT [BEFORE] [BLANK] [P 82]8. 删除记录:(1)作标记:DELETE[范围][FOR 条件式][P 85](2)撤消标记:RECALL[范围][FOR 条件式](3)彻底删除:PACK(4)全部清空:ZAP9.修改记录:[P 82](1)编辑修改:EDIT/CHANGE[范围][FIELDS 字段名表][FOR 条件式](2)浏览修改:BROWSE[FIELDS 字段名表][FOR 条件式]10.替换记录:REPLACE[范围][FOR 条件]字段名1 WITH 表达式1,……11.数据查询:[P 97]顺序查询:LOCATE [范围][FOR 条件式]CONTINUE12. 表文件复制:[P 88](1) 表文件复制:COPY TO 新表名[范围][FIELDS 字段名表][FOR 条件式](2) 表文件结构复制:COPY STRUCTURE TO 新表名[FIELDS 字段名表]13. 建立索引:INDEX ON 索引表达式TAG 索引名[P 95]14. 指定主控索引:SET ORDER索引名[P 96]14.索引查询: FIND 字符串/常数和SEEK 表达式[P 97]15.选择工作区:SELECT区号/别名[P 101]16.建立关联:SET RELATION TO 关键字表达式INTO 区号/别名[P 102][注意:临时关联条件是两个表有相同字段;子表对此字段建立索引,并设为主控索引;父表对此字段建立关联]二、第五章程序设计基础1.命令文件的建立、修改和运行 [P114](1)建立程序:MODIFY COMMAND程序名(2)修改程序:MODIFY COMMAND程序名(3)运行程序:DO程序名2.结束命令: [P116](1)CANCEL(结束当前程序,清除程序中定义的变量,返回到交互方式状态)(2)RETURN(结束当前程序,返回到程序调用处)(3)QUIT (退出VFP )3.交互式输入命令:[P117](1)ACCEPT[提示信息]TO 内存变量(只能输入字符型数据)(2)INPUT[提示信息]TO内存变量(主要输入数值型数据)(3)W AIT[提示信息][TO内存变量](常用于暂停)4.格式化输入、输出命令[P122](1)格式化输出命令:@ 行,列SAY表达式(2)格式化输入、输出命令:@ 行,列[SAY表达式]GET 内存变量/字段READ [ SA VE ]5.顺序结构[P123](1)功能:顺次、逐条地执行程序中的命令。
VFP常用命令1、新建数据库命令:CREATE<文件名>2、打开数据库命令:USE<文件名>3、浏览数据库命令:BROWSE4、查找记录命令:LOCATE例:Loca all for 性别=’女’Loca all for 工资>160.00 .AND. 工资<180.00常和继续查找命令CONTINUE连用。
FIND例:find <字符串>/<n>使用前需要先排序。
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性别=’女’P ACK格式: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<表达式>]功能:用来替换打开的数据库文件中指定字段的数据。
VF命令大全一、基本命令APPEND 在表的末尾添加一个或多个新记录APPEND FROM 从一个文件中读入记录,追加到当前表的尾部AVERAGE 计算数值表达式或字段的算术平均值BROWSE 打开浏览窗口,显示当前或选定表的记录CHANGE 显示要编辑的字段CLOSE 关闭各种类型的文件COPY STRUCTURE 用当前选择的表结构创建一个新的空自由表COPY TO ARRAY 将当前选定表中的数据复制到数组COPY TO 用当前选定表的内容创建新文件COUNT 统计表中记录数目CREATE 生成一个新的VisualFoxPro表CREATE DATABASE 创建并打开一个数据库DELETE 给要删除的记录做标记DELETE DATABASE 从磁盘上删除数据库DELETE VIEW 从当前数据库中删除一个SQL视图DISPLAY 在VisualFoxPro主窗口或用户自定义窗口中显示与当前表有关的信息DISPLAY DATABASE 显示有关当前数据库的信息,或当前数据库中的字段、命名连接、表或视图的信息DISPLAY MEMORY 显示内存变量和数组的当前内容DISPLAY STRUCTURE 显示一个表文件的结构DISPLAY VIEWS 显示当前数据库中关于SQL视图的信息以及SQL视图是否基于本地或远程表的信息DROP TABLE 把一个表从数据库中移出,并从磁盘中删除它DROP VIEW 从当前数据库中删除指定的SQL视图FIND 查找记录GO|GOTO 将记录指针移动到指定记录上INSERT 插入记录JOIN 将两个数据库文件合并LIST 连续显示表或环境信息LIST DATABASE 连续显示有关当前数据库的信息LOCATE 按顺序搜索表从而找到满足指定逻辑表达式的第一个记录MODIFY DATABASE 打开数据库设计器,让你能够交互地修改当前数据库MODIFY STRUCTURE 显示表设计器MODIFY VIEW 显示视图设计器OPEN DATABASE 打开一个数据库PACK 从当前表中永久删除标有删除标记的记录RECALL 恢复所选表中带有删除标记的记录SCAN...ENDSCAN 运行扫描数据表文件SCATTER 从当前记录中把数据复制到一组内存变量或数组中SEEK 查找记录命令SELECT 激活指定工作区SET DELETED 指定VisualFoxPro是否处理标有删除标记的记录,以及其他命令是否可以操作它们SET INDEX 打开一个或多个索引文件,供当前表使用;SET RELATION 在两个打开的表之间建立关系SKIP 使记录指针在表中向前移动或向后移动SUM 对当前选定表的指定数值字段或全部数值字段进行求和TOTAL 计算当前选定表中数值字段的总和UPDATE 更新数据库文件的记录USE 打开一个表及其相关索引文件,或打开一个SQL视图ZAP 从表中删除所有记桌,只留下表的结构二、索引及排序命令COPY INDEXES 从单项索引.IDX文件创建复合索引标识DELETE TAG 从复合索引(.CDX)文件中删除标识INDEX 创建一个索引文件,利用该文件可以按某种逻辑顺序显示和访问表记录SET ORDER 指定表的主控索引文件或标识SORT 对当前选定表进行捧序,井将捧过序的记录输出到新表中三、Visual FoxPro环境设定命令DISPLAY STATUS 显示VisualFoxPro环境的状态四、SET 设定命令SET CONSOLE 激活或废止从程序中向VisualFoxPro主窗口或活动的用户自定义窗口的输出SET DEFAULT 指定默认的驱动器、目录或文件夹SET DEVICE 将@…SAY的输出结果定向到屏幕、打印机或文件SET EXACT 指定比较不同长度两个字符串时,VisualFoxPro使用的规则SET PATH 指定查找文件的路径SET SAFETY 设定确认模式SET TALK 决定VisualFoxPro是否显示命令结果五、Visual FoxPro文件管理命令COPY FILE 复制任何类型的文件DELETE FILE 从磁盘上删除文件RENAME 把文件名称更改为一个新名称TYPE 显示文件的内容六、Visual FoxPro输入输出命令?|?? 计算表达式的值,并输出计算结果\|\\ 文字直接输出命令CLEAR 从内存中释放指定项CREATE FORM 打开表单设计器DIR或DIRECTORY 显示目录或文件夹中文件的信息DO FORM 运行用表单设计器创建的、编译过的表单或表单集INPUT 由用户输入数据MODIFY FORM 打开表单设计器,从中可以修改或创建一个表单MODIFY QUERY 打开查询设计器,从中可以修改或创建一个查询MODIFY SCREEN 打开表单设计器READ 读取已建立的对象七、Visual FoxPro菜单命令DEFINE MENU 创建菜单栏DEFINE PAD 在用户自定义菜单栏或Ⅵsu81FoxPro系统菜单栏上创建一个菜单标题MENU 建立菜单MENU TO 启动菜单MODIFY MENU 打开菜单设计器,从中可以修改或创建菜单系统八、Visual FoxPro打印命令MODIFY REPORT 打开报表设计器,从中可以修改或创建一个报表SET PRINTER 打开或者关闭向打印机的输出,或将结果输出到一个文件、端口九、Visual FoxPro程序管理命令&& 标明程序文件中非执行的内部注释的开始* 标明程序文件中非执行的注释行的开始CANCEL 结束当前VisualFoxPro程序的执行DECLARE 创建一维或二维数组DIMENSION 创建一维或二维内存变量数组'DOCASE...ENDCASE 分支判断命令DO 执行一个VisualFoxPro程序或过程DOWHILE...ENDDO 循环语句EXIT 从DOWHILE、FOR或SCAN循环中退出FOR...ENDFOR 循环语句IF…ENDIF 判断语句MODIFY COMMAND 打开一个编辑窗口,从中可以修改或创建程序文件PARAMETERS 将调用程序传来的数据赋值给私有内存变量或数组PRIVATE 在当前程序中隐藏指定的、在调用程序中定义的内存变量或数组PROCEDURE 用在程序文件中标识一个过程的开始PUBLIC 定义全局内存变量或数组QUIT 结束当前VisualFoxPro工作期,并将控制权返回给操作系统RELEASE 从内存中删除内存变量和数组RESTORE FROM 恢复保存在内存变量文件或备注字段中的内存变量和内存变量数组,并把它们放回到内存中RETURN 将程序控制返回给调用程序SAVE TO 把当前内存变量和数组保存到内存变量文件或备注字段中SET PROCEDURE 打开过程文件WAIT 显示信息并暂停VisualFoxPro的执行,按某个键或单击鼠标后继续执行十、Visual FoxPro日期及时间命令SET DATE 指定日期表达式和日期时间表达式的显示格式十一、Visual FoxProSQL命令ALTER TABLE-SQL 以编程方式修改表的结构DELETE-SQL 给要删除的记录做标记INSERT-SQL 在表尾追加一个包含指定字段值的记录SELECT-SQL 从一个或多个表中检索数据UPDATE-SQL 以新值更新表中的记录十二、Visual FoxPro类及程序库命令DEFINE CLASS 创建一个用户自定义类或子类,并为创建的类或子类指定属性、事件和方法DISPLAY OBJECTS 显示有关一个对象或一组对象的信息MODIFY CLASS 打开类设计器,让用户修改已有的类定义或创建新的类定义十三、Visual FoxPro项目文件及其他命令MODIFY PROJECT 打开项目管理器,从中可以修改或创建一个项目文件。
Foxpro数据库命令汇总Foxpro数据库命令汇总说明:1.格式说明:[ ] 方括号中的项目是任选项,根据不同情况,有时可省略。
…删节号跟在那个项目后面,表示该项目可继续重复多次2.使用说明:(1)命令动词后面的短语(如范围、条件、字段名表等)可按任意顺序排列,但短语之间至少由一个空格分割(2)命令短语中可任意使用大小写字母,命令中使用的字符(如逗号,引号,空格等)只能使用英文半角的字符。
(3)每行最多书写一条命令(4)每条命令可以只使用前面的四个字母。
(5)命令中有用的范围的,[范围]有通用的以下四种情况。
⑴All:全部记录;⑵Next n:指从当前记录开始向下的n个记录;⑶Record n:第n条记录;⑷Rest:从当前记录开始到最后一条记录为止;一、第二节:1、Clear:清除工作区的内容(菜单:Windows→Clear)2、Quit:退出Foxpro系统(菜单:File→Exit)====================================== ==================二、第二节3、Creat:建立数据库(菜单:File→New菜单下选择Table/DBF)格式:Creat 库文件名说明:文件名的扩展名(.dbf)可省略,默认文件名为Untitled.dbf4、Use:打开/关闭数据库。
格式:Use 库文件名:打开数据库(菜单:File→Open)Use:关闭数据库。
5、Append :追加记录(菜单:Record→Appe nd)命令格式:Append [blank]功能:在数据库尾部添加记录说明:[blank]的作用是在库尾部添加一空白记录,不进入全屏幕编辑窗口,如果不加blank,添加记录时会出现一个新的编辑窗口,让我们输入记录的数据。
========================================================三、第四节:6、查看和修改数据库的结构。
FoxPro 命令集锦[职称考试用]一、创建数据表的结构命令1:CREATE 路[ 径][ 表名]例子:在A盘创建GZ2数据表。
CREATE A:GZ2命令2:CREATE 新[ 表名] FROM [ 旧表名] 例子:在A盘由GZ1创建GZ3数据表。
CREATE A:GZ3 FROM A:GZ1二、表结构的显示命令:LIST STRUCTUREDISPLAY STRUCTURE 例子:显示当前数据表在结构。
LIST STRUCTURE三、数据表的打开命令:USE 表名[INDEX 索引文件名] [EXCLUSIVE] 例子:打开A盘GZ1数据表。
USE A:GZ1四、数据表的关闭命令:USECLOSE DATA 例子:关闭当前打开的数据表。
USE五、表结构的修改命令:MODIFY STRUCTURE 例子:修改当前数据表的结构。
MODIFY STRUCTURE六、表数据的输入命令:APPEND [BLANK] 例子:向当前数据表追加数据。
APPEND七、表记录的显示命令:BROWSE [FIELDS字段表][FOR条件]LIST [范围][[FIELDS]字段表][FOR条件] DISPLAY [范围][[FIELDS]字段表][FOR 条件]例子:显示当前表中“应发合计”大于1000 元的记录的职工编号、姓名、应发合计三个字段。
BROWSE FIELD职工编号,姓名,应发合计FOR应发合计>1000LIST 职工编号, 姓名, 应发合计FOR 应发合计>1000八、用复制方法建新表命令:COPY TO新表名[范围][FIELDS字段表][FOR条件]例子:把当前表中“应发合计”大于1000元的记录复制到新数据表GZ2中。
COPY TO A:GZ2 FOF应发合计>1000九、从其他表取数据命令:APPEND FRO表名[FOR 条件]例子:把GZ1表中“应发合计”大于1000的记录复制到当前的表后面。
APPEND FROM GZ1 FC应发合计>1000十、记录指针定位命令:GO n|TOP|BOTTOM(绝对移动)SKIP [±n](相对移动)例子:把记录指针移到第1 条记录。
GO TOP十一、记录的插入命令:INSERT [BLANK][BEFORE]例子:在当前记录后插入一条空记录。
INSERT BLANK十一、修改记录命令:EDIT [范围][[FIELDS]字段表][FOR条件]例子:进入修改记录状态。
EDIT十二、替换记录命令:REPLACE 范[围]字段WITH 表达式[FOR 条件]例子:计算各记录“应发合计”字段的值。
REPLACE ALL应发合计WITH职务工资+岗位津贴+保留奖金+保留津贴十三、删除记录命令:DELETE范围][FOR条件](打删除标记)PACK (删除有删除标记的记录)ZAP (删除所有记录)例子:删除“职工编号”空白的记录。
DELETE ALL FOR 职工编号=""PACK十四、数据表排序排序——是物理排序,生成一个新的表文件。
命令:SORT TO新表名ON字段名[/A][/D][ 范围][FOR条件] 例子:把当前表中记录按“应发合计”从大到小重新排序。
SORT TO A:GZ3 ON应发合计/D十五、数据表索引索引——是逻辑排序,生成一个索引文件。
(一)标准索引文件:IDX命令:新建索引:INDEX ON字段名表达式TO索引文件名同时打开:USE 表名INDEX 索引文件名之后打开:SET INDEX TO索引文件名重新索引:INDEX ON字段名表达式TO索引文件名关闭索引:SET INDEX TO例子:对当前数据表以“应发合计”从大到小排列。
INDEX ON -应发合计TO GZ(二)复合索引文件:CDX命令:新建索弓I: INDEX ON字段名TAG 标记[ASCEDING|DESCENDING] 同时打开:USE 表名ORDER [TAG] 标记改变索引:SET ORDER TO [TAG标记重新索引:INDEX ON字段名TAG标记关闭索引:SET ORDER TO 删除索引:DELETE TAGS记例子:对当前数据表以“应发合计”从大到小排列。
INDEX ON 应发合计TAG HJ DESC十六、查找记录(一)顺序查找命令:LOCATE FO条件[范围] 继续查找命令:CONTINUE例子:在当前的表中查找姓“张”的记录。
LOCATE FOR姓名="张"(二)索引查找根据当前的索引来查找记录。
命令:FIND 字符串SEEK表达式用FOUND检查找到否。
例子:在当前的表中查找姓“张”的记录FIND 张SEEK "张"(三)查找函数函数:SEEK()例子:在当前的表中查找姓“张”的记录SEEK("张")十七、统计数据表记录个数命令:COUNT范围][FOR条件][TO 变量]例子:统计当前表中“应发合计”大于1000 元的人数。
COUNT FOF应发合计>1000十八、数据表数值字段的求和命令:SUM范围][FOR条件][TO 变量]例子:统计当前表中“应发合计”字段的总和SUM 应发合计十九、算术平均值的计算命令:AVERAGE范围][FOR条件][TO 变量]例子:统计当前表中“应发合计”字段的平均值。
AVERAGES发合计二十、多功能计算命令:CALCULATES达式[范围][FOR条件][TO 变量]例子:分别统计当前表中“应发合计”字段的人数、总和、平均值。
CALCULATE CN应发合计),SUM(应发合计),AVG(应发合计)二十一、练习用命令完成:1 、建立一个“应扣工资部分表”数据表,起名GZ2.DBF。
数据表有职工编号、姓名、年月、水费、电费、公积金、应扣合计7 个字段。
2、输入10 个记录。
3、显示数据表结构,以两种方式显示数据表记录。
4、删除记录。
5、分别建立职工编号、姓名的索引,查找记录。
6、只显示“应发扣计”大于100 元的记录。
7、只显示职工编号、姓名、应扣合计三个字段。
8、分别统计表中“应扣合计”字段的人数、总和、平均值。
•加密确认密码的代码事件:clos databaseuse mmk2if.t.if allt(thisform.password2.value)=allt(mmk2.xm)if allt(thisform.password1.value)=allt(mmk2.mm)usedo form wdxrrcdaendifendifthisform.releaseelsequitendifthisform.release• 在表单form1 文本框中, 设置显示当前时间:This.value=datetime()•表单form1 、actiiate 设置代码,在屏幕中停留时间: ttime=datetime()do whil datetime()-ttime<=3 &&定为3 秒钟enddodo form < 调用的表单>•打开数据库生成表格:expo to < 生成的表格名称> xls 分工种统计最高分、最低分、平均分•sele 工种as 工种分类,max(考试成绩) as 本工种最高分数,min(考试成绩) as 本工种最低分数from ygcjlr GROUP BY 1 TO SCREEN•sele 工种as 工种分类,max(考试成绩) as 本工种最高分数,min(考试成绩) as 本工种最低分数from ygcjlr GROUP BY 1 TO SCREEN &&临时表•sele 工种as 工种分类,max(考试成绩) as 本工种最高分数,min(考试成绩) as 本工种最低分数,avg(考试成绩) as 平均成绩from ygcjlr GROUP BY 1 TO SCREEN•sele 工种as 工种分类,max(考试成绩) as 本工种最高分数,min(考试成绩) as 本工种最低分数,avg(考试成绩) as 平均成绩from ygcjlr GROUP BY 1 into cursor 汇总表&&生成临时表•copy to 汇总库&&生成正式表•expo to 汇总正式表xls &&转表格•低于80高于90分的人员:select 单位,姓名,考试成绩from ygcjlr where 考试成绩not BETWEE8N0 AND 90 TO SCREEN•显示1965 年出生的人员sele 姓名, 工作单位, 出生年月from 员工培训where 出生年月like "1965%" to screen•80至90之间人员的分数select 单位,姓名,考试成绩from ygcjlr where 考试成绩BETWEEN 80 AND 90 TO SCREEN•统计1985和1988年参加工作时间的人数sele 姓名,工作时间from 薪酬用where val(工作时间) betw 1985 and 1988 to screen•统计各工种的成绩情况:sele 工种as 工种统计,count(*),max(考试成绩),min(考试成绩),avg(考试成绩) from ygcjlr group by 工种to screen•分单位统计各工种情况sele 单位, 工种as 工种统计,count(*),max(考试成绩),min(考试成绩),avg (考试成绩) from ygcjlr group by 工种to screen •工种分类并求出各工种的人数: sele dist(工种) as 工种分类, count(工种) from ygcjlr group by 工种to screen•分工种统计以下内容并分类计数:sele 单位,工种as工种统计,count(*)as 工种人数,max(考试成绩)as 最高分数,min(考试成绩) as 最低分数,avg(考试成绩) as 平均分数from ygcjlr group by 工种to screen && to cursor 生成临时表•分类统计成绩人数存入临时表:sele工种,max(考试成绩)as高分,min(考试成绩)as低分,avg(考试成绩)as 平均分数from ygcjlr GROUP BY 工种into CURSOR 汇总表• copy to 汇总一览表•expo to 汇总一览表xls•从表格中导入数据库:IMPORTFROM 整理文件嗣懿文件重新调整薪酬打印组合试验导入.xls TYPE XL8 SHEET "Sheet1"•按单位、姓名、由高到低分数排序:sele 单位, 姓名,考试成绩from ygcjlr where 单位="采一队" order by 3 desc to screen •生成新库由高到低排名:sele 单位, 姓名, 考试成绩from ygcjlr where 单位="工会" order by 考试成绩desc into dbf 成绩排名榜•在指定的记录前添加一条空白记录go 5insert before blank •统计工种数、单位工种数、分组,按单位排序生成新库文件:sele 单位,count(工种),工种from ygcjlr group by 工种order by 单位into dbf 工种分类•查询范围内的工种:set exac off &&模糊环境, 提示一个以上的关键字sele 工种, 姓名, 考试成绩,min(考试成绩) as 最低分数,avg(考试成绩) as 平均分数from ygcjlr where 工种in(" 采"," 压") to screen •按单位分组、考试成绩排序并显示所在单位的最高分数:sele * ,max(考试成绩) from ygcjlr group by 单位order by 考试成绩desc•查询90至100之间的成绩、工种和单位集中在一块并生成新的数据库sele * from ygcjlr where 考试成绩between 90 and 100 group by 工种order by 单位into dbf 汇总表•查询单位人数, 成绩表并生成数据库sele单位,工种,考试成绩,max(考试成绩)as最高分数,min(考试成绩)as最低分数,avg(考试成绩) as 平均分数, cnt(工种) as 总人数from ygcjlr group by 单位into dbf 考试成绩汇总表•显示工种姓名考试成绩,98.5 至99分之间的人数并由高到低排序sele count(*) as 人数, 工种, 姓名, 考试成绩from ygcjlr where 考试成绩between 98.5 and 100 order by 考试成绩desc to screen •查找所有名字带" 霞" 字的人员sele * from 员工培训where 姓名like "% 霞" •查找姓王的姓氏分布单位的数据:sele count(单位),单位from ygcjlr where 姓名like "王%"group by 单位to screen •union[all]<select 命令> 说明将两个查询结果合并在一起输出,若无all, 重复记录将被自动取消,若有all, 表示结果全部合并。