VFP常用的操作命令总结
VFP命令、函数及程序语句大全

VFP命令、函数及程序语句大全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作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:BROWSE6、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所有的记录。
VFP命令汇总

⏹表的创建: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中常用命令

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常用操作命令

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常用命令及用法

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表名达式[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常用命令

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<表达式>]功能:用来替换打开的数据库文件中指定字段的数据。
VFP常用的操作命令总结

VFP常用的操作命令总结VFP常用的操作命令总结<范围>子句4种情况:ALL 操作对象为表中全部数据。
NEXT 操作包括当前记录在内的以下n条记录。
RECORD 只操作第n个数据。
REST 操作从当前到结尾的记录。
①显示表中记录LIST、DISPLAYUSE F:\VFP\st.dbf (路径根据不同情况有不同值)LIST [<范围>] [FIELDS] <字段名列表> [FOR<条件>] [OFF]LIST 学号,姓名, 入学成绩FOR 性别.and. 入学成绩>=480DISPLAY FOR 出生时间<="" p="">(LIST为全部显示命令,DISPLAY仅显示当前记录内容。
若DISPLAY中包含ALL或FOR语句,则等同于LIST)。
②修改记录REPLACEREPLACE [<范围>] <字段名1> WITH <表达式1>[ ,<字段名2> WITH <表达式2>] [ FOR <条件>]REPLACE 入学成绩WITH 入学成绩+10 FOR 所在系="计算机"REPLACE ALL 总分WITH 语文+数学+英语REPLACE 补助WITH 补助*1.5 ,分数WITH 分数+10 FOR 性别='男' .AND. 专业='物探'(如果没有ALL或FOR,只更替当前记录)。
③删除记录DELETEDELETE [<范围>] [FOR <条件>]GO 2DELETE (逻辑删除第2条记录)DELETE ALL (逻辑删除全部记录)DELETE FOR 所在系=”中文”.and. .not. 性别DELETE FOR 入学成绩<=470恢复记录:RECALL RECALL [<范围>] [FOR <条件>] RECALL (只恢复当前一条记录)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VFP常用的操作命令总结<范围>子句4种情况:ALL 操作对象为表中全部数据。
NEXT <n> 操作包括当前记录在内的以下n条记录。
RECORD <n> 只操作第n个数据。
REST 操作从当前到结尾的记录。
①显示表中记录LIST、DISPLAYUSE F:\VFP\st.dbf (路径根据不同情况有不同值)LIST [<范围>] [FIELDS] <字段名列表> [FOR<条件>] [OFF]LIST 学号,姓名, 入学成绩FOR 性别.and. 入学成绩>=480DISPLAY FOR 出生时间<CTOD(“03/16/86”) OFF(LIST为全部显示命令,DISPLAY仅显示当前记录内容。
若DISPLAY中包含ALL或FOR语句,则等同于LIST)。
②修改记录REPLACEREPLACE [<范围>] <字段名1> WITH <表达式1>[ ,<字段名2> WITH <表达式2>] [ FOR <条件>]REPLACE 入学成绩WITH 入学成绩+10 FOR 所在系="计算机"REPLACE ALL 总分WITH 语文+数学+英语REPLACE 补助WITH 补助*1.5 ,分数WITH 分数+10 FOR 性别='男' .AND. 专业='物探'(如果没有ALL或FOR,只更替当前记录)。
③删除记录DELETEDELETE [<范围>] [FOR <条件>]GO 2DELETE (逻辑删除第2条记录)DELETE ALL (逻辑删除全部记录)DELETE FOR 所在系=”中文”.and. .not. 性别DELETE FOR 入学成绩<=470恢复记录:RECALL RECALL [<范围>] [FOR <条件>] RECALL (只恢复当前一条记录)。
RECALL ALL (恢复所有打上删除标记的记录)。
物理删除命令:PACK、ZAPPACK (物理删除所有打上删除标记的记录,一旦执行,无法用RECALL 恢复)。
ZAP =DELETE ALL+PACK (等价于DELETE ALL 加上PACK,物理删除表中所有记录,只保留表结构,结果为一空表)。
④插入新记录(用REPLACE命令填充一个新数据)看懂即可APPEND BLANK (书上第26页)REPLACE 学号WITH “2006200”,姓名WITH “丁一”,性别WITH .T. ,出生时间WITH CTOD(“07/19/87”), 入学成绩WITH 508,所在系WITH “计算机”,系负责人WITH “程家吉”⑤数据查询LOCATELOCATE [<范围>] [FOR <条件>]定位到范围中满足FOR条件的第1条记录。
LOCATE FOR YEAR(出生时间)=1986(其中,出生日期为日期类型,如果为字符串类型,可用RIGHT(出生日期,2)= "86")CONTINUEDISP(注:CONTINUE命令必须与LOCA TE命令配合使用,以显示下一条符合条件的记录)。
⑥统计记录COUNT、SUM、A VERAGECOUNT [<范围>] [FOR <条件>] [TO <内存变量>]SUM [<范围>] [ <表达式表>] [FOR <条件>] [TO <内存变量表>]A VERAGE [<范围>] [<表达式表>][FOR<条件>][TO<内存变量>]COUNT FOR .NOT. 性别TO nCOUNT FOR 入学成绩>=480 TO x? n, xSUM 入学成绩FOR .NOT. 性别TO nuSUM 入学成绩FOR 所在系="计算机" TO numberA VERAGE 入学成绩FOR YEAR(出生时间)=1986.AND. .NOT. 性别TO pjcjA VERAGE 入学成绩FOR 所在系="中文" TO pjszx⑦用命令建立索引INDEX ON <索引表达式> <索引文件名> [FOR <条件>]INDEX ON 学号TO xhLISTINDEX ON ---入学成绩TO cj (加上减号为降序,默认为升序,仅对数值型有效.)INDEX ON 出生时间TO birthdayLISTINDEX ON 姓名+ STR(入学成绩) TO xmcjLISTINDEX ON 出生时间TAG birthday DESC按出生时间的降序建立索引(默认为升序)。
补充内容:常用函数ABS( )、ALLTRIM()、BETWEEN( )、BOF( )、CTOD( )、DATE( )、DATA TIME( )、DAY( )、DTOC( )、EOF( )、IIF( )、INT( )、LEFT( )、LEN( )、MAX( )、MIN( )、MONTH( )、RECCOUNT( )、RECNO( )、RIGHT( )、STR( )、SUBSTR( )、TIME( )、YEAR( )。
①索引的降序处理:如果是数字,可直接在前面加“-”号。
如果是字符串,则格式如下:INDEX ON 出生时间TAG sj DESC②求最大值最小值的方法(命令与函数的配合使用)。
CALCULATE MAX(入学成绩) TO maxcjCALCULATE SUM(入学成绩),MAX(入学成绩),MIN(入学成绩),A VG(入学成绩)③复制数据到新表命令如下:COPY TO <新表名> FIELDS <范围> FOR <条件>COPY TO 学生1.dbf FIELDS 姓名,性别,出生时间FOR 所在系="计算机"(将当前表中符合条件的记录的对应字段复制到新表)④将逻辑型字段显示为文本LIST FIELDS 姓名, ”性别:”+ IIF(性别,’男’,’女’)⑤将数据排序后插入到新表中SORT TO <文件名>ON <字段名1>[/A][/D],<字段名2>[/A][/D]…[范围][FOR条件]要求对所有记录按照出生时间的降序排列,出生时间相同时再按所在系的升序排列,并生成表名为“学生2”的新表。
sort to 学生2.dbf on 出生时间/d, 所在系/aSort to student2.dbf on 出生时间/D fields 姓名,性别,出生时间for 性别⑥记录指针GO TOP 指针指向首记录。
GO BOTTOM 指针指向末记录。
GO n n为正整数,指针指向第n条记录。
SKIP n n为正、负数,正数指针下移,负数指针上移。
?BOF( ) 提问指针是在文件头上么。
?EOF( ) 提问指针是在文件尾么。
?RECNO( ) 提问当前指针指向第几条记录。
?RECCOUNT( ) 提问当前表中一共有多少条记录。
⑦综合练习LIST "学号:"+学号,"姓名:"+姓名,"性别:"+iif(性别,"男","女"),"出生时间:"+dtoc(出生时间),"入学成绩:"+str(入学成绩,6,1)补充教材课后习题答案一、选择题BCCAB BDCDB BDABC 无BACB二、填空题1、WITH 价格*(1-0.2245) , 航班='M' .OR. 航班='B'2、李明郭吴欧阳惠吴友3、DELETED ON4、(1) 120(2) 1003(3) CONTINUE5、A VERAGE , REPLACE6、价格<100 .OR. 价格>4000PACK三、操作题第一题:(1)、DISPLAY STRUCTURE(2)、SUM 补助FOR SUBSTR(DTOC(出生日期),7,2)<"86" TO xyz(或:SUM 补助FOR YEAR(出生日期)<1986 TO xyz)(3)、DELETE ALL FOR 是否党员.AND. 性别='男'PACK(4)、INDEX ON 姓名+STR(补助) TO xmjbbzh第二题(1)、LIST FIELDS 姓名,补助FOR 专业='石油'(2)、COUNT FOR .NOT. 是否党员.AND. 专业='物探' TO x(3)、REPLACE ALL 专业WITH "物理探测" FOR 专业='物理'(4)、INDEX ON 出生日期TO csrq第三题(1)、LIST FIELDS 姓名,补助,等级FOR 性别='女' .AND. 是否党员.AND. 补助>100(2)、LOCATE FOR .NOT. 是否党员.AND. 性别='女'(3)、DELETE ALL FOR 等级='优秀' .AND. .NOT.是否党员(4)、SORT TO 学生2 ON 出生日期FIELDS 姓名,补助,出生日期FOR 专业="计算机"第四题(1)、LIST FIELDS 姓名,出生日期FOR 性别='女' .AND. MONTH(出生日期)=7(2)、LOCATE FOR 性别='男' .AND. 等级='优秀'(3)、REPLACE ALL 补助WITH 补助+30 FOR 性别='男' .AND.专业='物探'(4)、INDEX ON 姓名+STR(分数) TO xmfsh第五题(1)、LIST FOR YEAR(DA TE( ))-YEAR(出生日期)>=20(2)、AVERAGE 分数FOR YEAR(出生日期)=1983.AND. 性别='女' TO xyz(其中,出生日期为日期类型,如果为字符串类型,可用RIGHT(出生日期,2)= "83")(3)、DELETE ALL FOR 等级='优秀' .AND. .NOT. 是否党员(4)、SORT TO 学生2.dbf ON 分数FOR 性别='女' .AND. YEAR(出生日期)=1984。