VFP中常用命令Word文档格式.docx
《VFP中常用命令Word文档格式.docx》由会员分享,可在线阅读,更多相关《VFP中常用命令Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
从当前打开的数据库中删除视图:
viewname
打开一个表:
USE
[IN
工作区号]
将当前数据表与另一数据表连接后建立一个新表:
JOIN
WITH
工作区号|表别名
FOR
条件
[FIELDS
字段名表]
三、数据表和表结构的编辑、修改
打开浏览窗口(可在其中编辑数据表):
BROWSW(详细格式见P.
114~116)
打开并修改数据表中的字段:
(1)
CHANGE
字段名列表]
(2)
EDIT
这两个命令的功能相似,可选子句较多(详见手册)。
数据表改名:
RENAME
tablename1
tablename2
其中数据表tablename1必须存在且未打开。
视图改名:
viewname1
viewname2
修改数据表结构(SQL命令):
ALTER
;
字段名
Type
[NULL
NOT
NULL]
[,字段名
NULL]
[ALTER
COLUMN字段名Type
{NULL
NULL}];
[{,字段名Type
NULL
NULL}...]
[DROP字段名[,字段名[,
...]]
将当前表与另一表之间建立关联:
RELATION
[表达式1
INTO
工作区号1
表别名1];
[,
表达式2
工作区号2
表别名2]
...]
建立关联的两个表必须事先已按关联表达式进行索引排序。
在当前表与另一表之间建立一对多关联:
SKIP
TO表别名1[,
表别名2]
消除当前表与另一表之间的关联:
OFF
工作区号
表别名
四、数据表中数据操作(查询、插入、删除和修改等)
数据查询SELECT语句(SQL命令)
格式见教材的有关章节。
这是本课程的重点内容,必须很好地掌握。
更改数据表中的记录:
REPLACE
字段1
表达式1[ADDITIVE];
[,<
字段2>
<
表达式2>
[ADDITIVE],…];
[FOR
条件1][WHILE条件2]
其中的ADDITIVE子句适用于备注字段,表示将表达式的值加在字段的末尾。
用内存数组的值更新数据表中的记录:
FROM
ARRAY数组名
字段名列表][常用子句]
用新的值更新表中的记录(SQL命令):
UPDATE
[databasename!
]tablename;
Column_1=Expression1
[{Column_2=expression2}...]
[WHERE
Condition]
用一个表中的数据更新当前指定工作区中打开的表:
ON
fieldname
filename;
fieldname1
expr1
fieldname2
expr2
给记录加删除标记(SQL命令):
条件]
给记录加删除标记:
[范围]
条件]
[WHILE
条件];
工作区号|表别名]
永久删除加了删除标记的记录:
PACK
永久删除打开的数据库中加了删除标记的记录:
PACK
DATABASE
去掉删除标记(恢复)
RECALL
[常用子句]
删除一个表中所有记录(保留表的结构):
ZAP
tablename|alias]
为数据表文件追加记录:
APPEND
[BLANK][IN
工作区号|别名]
从另一个文件中提取数据添加到当前数据表的尾部:
filename|?
字段名列表][
其中filename所指定的文件可以是数据表、EXCEL电子表格、文本文件等,如果不是数据表,需要其它子句指定格式(详见手册)。
用内存数组的值添加到当前数据表的尾部:
ARRAY
arrayname
[
条件][FIELDS字段名列表]
数据中的一行对应一个新记录,一列对应一个字段。
从一个文件输入一个OLE对象放入一个通用(general)字段
:
GENERAL
通用字段名
[FROM
filename]
如果省略子句FROM
filename,则将指定的字段清空。
将一个文本文件的内容拷贝到一个备注字段
MEMO
备注字段名
filename][OVERWRITE]
插入新记录(在当前记录之前或后插入):
INSERT
[BLANK]
[BEFORE]
如不省略BLANK,则插入一个空白记录,且不显示输入窗口。
在表中插入新记录并赋值(SQL命令):
[(字段1
字段2,
...])]VALUES
(eExpression1
eExpression2,
...])
或
ArrayName
MEMVAR
如带有FROM
MEMVAR子句,则用同名的内存变量给字段赋值。
清除当前记录中字段的数据:
BLANK
移动记录指针:
[n]
五、文件管理(文件和文件夹的复制、创建和删除)
从当前表复制出表或其它类型的文件(表须打开)
COPY
filename
字段名列表]
[常用子句]
[其它子句]
如果没有指定类型,则复制一个与当前的表相同的数据表。
复制表的结构
STRUCTURE
[FIELDS字段名列表]
复制任何文件:
FILE
源文件
目的文件
如果用此命令复制表,表须关闭
从磁盘上删除任意文件:
(1)ERASE
(2)DELETE
[filename|?
任意文件改名(或文件移动到另一文件夹):
filename1
filename2
其中filename1和filename2都可以包含路径。
如二者不在同一文件夹,则将filename1移动到filename2所在的文件夹。
显示一个文件夹中的文件信息:
DIR
DIRECTORY
[ON
drive]
从磁盘上删除一个文件夹:
RD
REDIR
文件夹名
在磁盘上建立一个文件夹:
MD
MKDIR文件夹名
六、数据的复制与传送
单个记录与数组间的数据传送
当前记录
→
数组或内存变量:
SCATTER
[FIELDS字段名列表][MEMO]TO
数组名
MEMVAR
[BLANK]
其中[BLANK]表示建立一个空元素的数组。
如果用MEMVAR子句,则表示将各字段的值复制到同名同类型的内存变量。
如果包含MEMO子句,则备注字段一起复制。
数组或内存变量
GATHER
[FILEDS字段名列表]
[MEMO]
用同名的内存变量或数组中的第一行置换当前记录,如果数组为多行的二维数组,也只用第一行。
成批记录与数组间的数据传送
表
数组:
数组
表:
用内存数组的值加在数据表的尾部,数据中的一行对应一个新记录,一列对应一个字段。
用内存数组的值更新数据表中符合条件的记录。
查询结果
……
arrayname
将SQL
SELECT语句的查询结果传给数组arrayname。
这里“SELECT
……”可为各种形式的SELECT查询语句。
给内存变量赋值:
STORE
表达式
变量名
变量名=表达式
七、排序与索引
将当前表排序后建立一个新数据表:
SORT
文件名
字段名1
[/A
/D]
[/C]
字段名2
...];
[ASCENDING
DESCENDING]
[常用子句];
建立单索引文件:
INDEX
单索引文件名;
[FOR<
条件>
]
[UNIQUE]
[COMPACT];
[ASCENDING][DESCENDING][ADDITIVE]
建立复合索引文件:
TAG
索引名
[OF
复合索引文件名];
[UNIQUE|CANDIDATE];
使用索引文件:
打开表时将索引文件一并打开,USE命令带INDEX子句:
工作区号][INDEX
索引文件名列表|?
给当前表打开一个或多个索引文件:
TO[索引文件名列表|?
];
[ORDER
索引文件名序号|索引文件名|[TAG]索引名
复合索引文件名]
[ASCENDING][DESCENDING]]
指定字符字段在排序或索引时的整理系列:
COLLATE
整理系列
对于汉字字符串,“整理系列”可以是“Machine”、“PinYin”或“Stroke”三者之一(必须带引号),分别表示按机器码、拼音和笔划排序。
指定当前表中的控制索引文件或标记:
ORDER
TO;
[索引文件名序号|索引文件名|[TAG]索引名
复合索引文件名];
工作区号|表别名];
[ASCENDING][DESCENDING]
删除索引
ALL
复合索引文件名]
索引标识1
复合索引文件名1];
[,索引标识2
复合索引文件名2]]…
八、查找和定位
顺序查找当前表中满足条件的第一条记录:
LOCATE
条件下[范围][WHILE条件]
找到后将记录指针定位在满足条件的第一条记录,且函数FOUND()的返回值为真。
在索引表中查找:
FIND
cExpr
其中cExpr为字符串表达式。
如果找到,则记录指针定位在满足条件的第一条记录,且函数FOUND()的返回值为真;
查找失败时,FOUND()的返回值为假,记录指针定位在文件尾。
SEEK
eExpr;
[ASCENDING][DESCENDING]];
如果找到,则记录指针定位在满足条件的第一条记录,且为真;
继续查找:
CONTINUE
用LOCATE、
FIND或
SEEK查找到一条记录后,用CONTINUE继续查找下一条。
用以上查找命令LOCATE、
FIND、SEEK和CONTINUE的查找结果,都可以通过函数FOUND()的返回值反映出来。
九、统计计算
统计表中的记录数:
COUNT
条件][TO内存变量名]
统计满足条件的记录数,显示记录数或将结果赋给内存变量名。
求和:
SUM
[表达式列表];
条件][TO内存变量名|TO
数组名]
求平均值:
AVERAGE
对当前表中数值型字段进行分组求和:
TOTAL
字段名[常用子句]
其中tablename为存放结果的表文件名,字段名为确定求和分组的字段。
计算:
CALCULATE
表达式列表;
其中表达式列表可以是如下函数的任意组合:
AVG(nExpr),
CNT(),
MAX(eExpr),
MIN(eExpr),
NPV(nExpr1,
nExpr2,…),
STD(nExpr),SUM(nExpr),VAR(nExpr)
其中nExpr为数值表达式,eExpr为任意表达式。
十、程序控制
条件语句:
IF
[THEN]
[ELSE]
[……]
ENDIF
多分支语句:
DO
CASE
CASE
逻辑表达式1
逻辑表达式2
逻辑表达式n
[OTHERWISE]
ENDCASE
DO循环:
WHILE
条件
[LOOP]
[EXIT]
ENDDO
FOR循环
循环变量=初值
终值
STEP
步长
……(中间可插入[LOOP]或[EXIT])
ENDFOR
NEXT
扫描循环(对一个表中满足条件的记录进行循环):
SCAN
ENDSCAN
集合扫描循环
EACH
Var
IN
Group
Commands
NEXT
[Var]
十一、其它
定义数组:
DECLARE
DIMENSION
数组名(下标1,下标2,……)
定义过程:
PROCEDURE
过程名
PARAMETERS
参数表
RETURN
[TO
MASTER
程序名]
定义函数:
FUNCTION
函数名
表达式
调用一个子程序或过程
子程序名
过程名
程序文件名][WITH
实在参数表]
定义公共变量:
PUBLIC
变量名列表
[ARRAY]
数组名1(行1,列1)[,
数组名2(行2,列2)
[,…]]
定义私有变量
PRIVATE变量名列表
PRIVATE
ALL[LIKE
EXCEPT
通配符]
定义局部变量
LOCAL
显示各种信息:
LIST
…
(格式见有关手册)
DISPLAY
输出提示信息:
WAIT
[<
提示信息>
内存变量>
];
[WINDOW[AT[<
行>
<
列>
[NOWAIT]];
[CLEAR|NOCLEAR];
[TIMEOUT<
数值表达式>
各种设置命令:
设置是否显示日期中的世纪:
CENTURY
OFF
设置显示的小数位数:
DECIMALS
小数位数
设置是否处理带删除标记的记录:
DELETED
如果设置为ON,则不处理带删除标记的记录。
设置是否显示命令的结果:
TALK
设置文件的搜索路径:
PATH
路径
设置传给子程序或自定义函数的参数是按值还是按引用方式传递:
UDFPARMS
VALUE
REFERENCE
如设置为TO
VALUE,表示按值传递。
执行一个外部命令或程序:
RUN
命令或程序
在指定的位置显示或打印:
@行,列
SAY
…
在指定的位置显示表达式的值,并等待用户输入,将输入值赋给一变量:
GET
变量名
[DEFAULT
表达式]
READ
例:
@2,2
say
"
请输入金额:
get
nMoney
default
50
Read
此例先在第2行、第2列显示"
,等待用户输入一个数值,将用户输入值赋给变量nMoney,如果用户不输入数值(直接按回车),则将50赋给nMoney。
请注意在下一行不能漏掉“Read”。
ALL:
命令对表中所有记录起作用,即执行时从首记录到末记录,最记录指针停在数据库的末尾。
expN>
命令作用于从当前记录开始到当前记录后<
条记录为止的范围内的记录,最后记录指针指向作用范围内的最后一条记录处。
1表示仅作用于当前记录。
Record
命令作用于记录号为<
的记录。
TEST
命令作用范围从当前记录开始到表的最后一个记录为止
命令中的FOR子句只作用于满足条件的记录。
一、基本命令
1.
打开和关闭数据表
数据表名>
当省略选项时为关闭当前数据表
关闭所有数据表
2.
选择当前工作区
工作区号|数据表名|0>
功能:
选择当前工作区。
可以直接选择工作区号,也可通过指定其中已经打开的数据表别名来指定工作区。
0
是选择当前未使用的最低编号的工作区
3.
增加记录
在当前表的尾部追加一个空白记录
在当前表的当前记录之后插入一条空白记录
BEFORE
在当前表的当前记录之前插入一条空白记录
注意:
在表建立索引后,INSERT的功能与APPEND相同
4.
替换字段的值
字段1>
表达式1>
...<
字段n>
表达式n>
expL>
计算表达式的值,并填入指定字段,当范围和条件选项省略时只对当前记录操作。
5.
删除记录
对记录加删除标记(即逻辑删除),当范围和条件选项省略时只对当前记录操作。
对记录去除删除标记(即恢复删除),当范围和条件选项省略时只对当前记录操作。
删除带有删除标记的记录
ZAP
物理删除当前表所有记录
6.
建立索引与选择主控索引
关键字表达式>
索引标识符>
[DESCENDING]
对当前表按<
建立结构复合索引,索引文件名与表名相同,扩展名默认为CDX。
DESCENDING选项为按关键字降序排列,默认为升序。
在结构复合索引文件打开后,指定主控索引标识符。
7.
记录指针定位
GO
BOTTOM
TOP
移动记录指针直接指定记录。
BOTTOM为指向末记录,TOP为指向首记录,<
为指向记录号为<
[expN]
按expN的值,从当前位置出发移动记录指针。
当expN为正时向尾部方向移动ex