⑴ visual foxpro 创建表的命令
create form是创建表单(窗口)命令
create table是创数据库的表,但是后面要跟参数,加上相应表的字段名字、类型与长度
create命令是创建表命令
⑵ VFP:运行表单的命令
VFP:运行表单的命令是Do Form 。
Do Form命令:
运行窗体设计器创建的已编译窗体或窗体集。
语法:
DO FORM FormName | ?
[NAME VarName [LINKED]]
[WITH cParameterList]
[TO VarName]
[NOREAD] [NOSHOW]
参数:
formname
指定要运行的窗体或窗体集的名称。
?
显示你的对话框,您可以从中选择一个窗体或窗体设置为运行。
NAME VarName [LINKED]
指定一个变量或数组元素与您可以参考表格或表单集。如果指定了一个不存在的变量时,Microsoft Visual FoxPro自动创建它。如果指定数组元素,数组必须存在您发出DO FORM前。如果指定变量或数组元素已经存在,其内容将被覆盖。
DO FORM 例子:
下面的示例运行数据表(jwl_jink.scx)
doformD:jwljwl_jink.scx
⑶ 在visual Foxpro中,显示一条记录的指令是什么
一、基本命令
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 打开项目管理器,从中可以修改或创建一个项目文件
基本命令就是这样,我们也在学这个,也不太懂。这些以后你总是用得着的~
⑷ vfp中菜单中的菜单项要设置运行表单的命令,该怎么设置
1、首先点击打开左上角文件中的“新建”选项。
⑸ 谁能列表告诉我Visual FoxPro的一些常用命令
Visual FoxPro常用命令分类表
数据库文件及记录命令
ADD TABLE 在当前数据库中添加一个自由表
APPEND 在表的末尾添加一个或多个新记录
APPEND FROM ARRAY 由数组添加记录到表中
APPEND FROM 从一个文件中读入记录,追加到当前表的尾部
APPEND GENERAL 从文件中导入OLE对象并将其放入通用字段中
APPEND MEMO 将文本文件的内容复制到备注字段中
APPEND PROCEDURES 将文本文件中的存储过程追加到当前数据库中
AVERAGE 计算数值表达式或字段的算术平均值
BLANK 清除当前记录中所有字段的数据
BROWSE 打开浏览窗口,显示当前或选定表的记录
CALCULATE 对表中的字段或包含字段的表达式进行财务和统计操作
CHANGE 显示要编辑的字段
CLOSE 关闭各种类型的文件
CLOSE MEMO 关闭一个或多个备注编辑窗口
COMPILE DATABASE 编译数据库中的存储过程
CONTINUE 继续执行先前的LOCATE命令
COPY MEMO 复制当前记录中的指定备注字段的内容到文本文件
COPY PROCEDURES 将当前数据库中’的存储过程复制到文本文件
COPY STRUCTURE 用当前选择的表结构创建一个新的空自由表
COPY STRUCTURE EXTENDED 创建新表,它的字段包含当前选定表的结构信息
COPY TO ARRAY 将当前选定表中的数据复制到数组
COPY TO 用当前选定表的内容创建新文件
COUNT 统计表中记录数目
CREATE 生成一个新的VisualFoxPro表
CREATE CONNECTION 创建一个命名连接并把它存储在当前数据库中
CREATE DATABASE 创建并打开一个数据库
CREATE TRIGGER 创建表的删除、插入或更新触发器
CREATE VIEW 从VisualFoxPro环境创建视图文件
DELETE 给要删除的记录做标记
DELETE CONNECTION 从当前数据库中删除一个命名连接
DELETE DATABASE 从磁盘上删除数据库
DELETE TRIGGER 从当前数据库的表中删除“删除”、“插入”或“更新”触发器│
DELETE VIEW 从当前数据库中删除一个SQL视图
DISPLAY 在VisualFoxPro主窗口或用户自定义窗口中显示与当前表有关的信息
DISPLAY CONNECTIONS 显示当前数据库中与命名连接有关的信息
DISPLAY DATABASE 显示有关当前数据库的信息,或当前数据库中的字段、命名连接、表或视图的信息
DISPLAY MEMORY 显示内存变量和数组的当前内容
DISPLAY PROCEDURES 显示当前数据库中存储过程的名称
DISPLAY STRUCTURE 显示一个表文件的结构
DISPLAY TABLES 显示包含在当前数据库中所有的表和表的信息
DISPLAY VIEWS 显示当前数据库中关于SQL视图的信息以及SQL视图是否基于本地或远程表的信息
DROP TABLE 把一个表从数据库中移出,并从磁盘中删除它
DROP VIEW 从当前数据库中删除指定的SQL视图
EDIT 显示要编辑的字段
FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。
如:LIST [范围] [[FIELDS 字段名列表] [FOR 条件][WHILE 条件] [OFF] [TO PRINT]
常用子句
范围:表示记录的执行范围,可以是下面几项其中之一:
ALL 表示全部记录;
NEXT n 表示从当前记录开始的以下n条记录;
RECORD n 表示第n号记录;
REST 表示从当前记录到最后一条记录。
FIELDS 字段名表:用于指定操作的字段,多个字段时用逗号分隔。
FOR条件:对满足条件的记录进行操作。
WHILE 条件:当遇到第一个不满足条件的记录时,停止命令执行。
以下命令中,大写的英文词为关键词,必须原样照写。
“常用子句”指以下几个可选子句:
[范围] [FIELDS 字段名表] [FOR 条件] [WHILE 条件]
命令中的“列表”,指用“,”分隔的各项。如“字段名列表”就是将各个字段名用逗号分隔。
部分英文词的意义:Databasename 数据名 tablename 数据表名 filename 文件名 Viewname 视图名 arrayname 数组名
提示:加下划线的为本课程要求掌握的命令。
一、数据库的建立、打开、关闭和删除
建立数据库:
CREATE DATABASE [databasename|?]
从磁盘中删除数据库:
DELETE 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子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。
在当前打开的数据库中建立视图:
CREATE SQL VIEW viewname AS SELECT ……
其中SELECT ……为SELECT语句。
执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。
从当前打开的数据库中删除视图:
DELETE VIEW viewname
打开一个表:
USE tablename|? [IN 工作区号]
将当前数据表与另一数据表连接后建立一个新表:
JOIN WITH 工作区号|表别名 TO tablename FOR 条件 [FIELDS 字段名表]
三、数据表和表结构的编辑、修改
打开浏览窗口(可在其中编辑数据表):
BROWSW(详细格式见P. 114~116)
打开并修改数据表中的字段:
(1) CHANGE [FIELDS 字段名列表]
(2) EDIT [FIELDS 字段名列表]
这两个命令的功能相似,可选子句较多(详见手册)。
数据表改名:
RENAME TABLE tablename1 TO tablename2
其中数据表tablename1必须存在且未打开。
视图改名:
RENAME VIEW viewname1 TO viewname2
其中数据表tablename1必须存在且未打开。
修改数据表结构(SQL命令):
ALTER TABLE tablename ;
ADD 字段名 Type [NULL | NOT NULL]
[,字段名 Type [NULL | NOT NULL] ;
[ALTER COLUMN字段名Type {NULL | NOT NULL}];
[{,字段名Type NULL | NOT NULL}...] ;
[DROP字段名[,字段名[, ...]]
将当前表与另一表之间建立关联:
SET RELATION TO [表达式1 INTO 工作区号1 | 表别名1];
[, 表达式2 INTO 工作区号2 | 表别名2] [, ...]
建立关联的两个表必须事先已按关联表达式进行索引排序。
在当前表与另一表之间建立一对多关联:
SET SKIP TO表别名1[, 表别名2]
消除当前表与另一表之间的关联:
SET RELATION OFF INTO 工作区号 | 表别名
四、数据表中数据操作(查询、插入、删除和修改等)
数据查询SELECT语句(SQL命令)
格式见教材的有关章节。这是本课程的重点内容,必须很好地掌握。
更改数据表中的记录:
REPLACE 字段1 WITH 表达式1[ADDITIVE];
[,< [,<字段2> WITH <表达式2>[ADDITIVE],…];
[FOR 条件1][WHILE条件2]
其中的ADDITIVE子句适用于备注字段,表示将表达式的值加在字段的末尾。
用内存数组的值更新数据表中的记录:
REPLACE FROM ARRAY数组名 [FIELDS 字段名列表][常用子句]
用新的值更新表中的记录(SQL命令):
UPDATE [databasename!]tablename;
SET Column_1=Expression1 [{Column_2=expression2}...] ;
[WHERE Condition]
用一个表中的数据更新当前指定工作区中打开的表:
UPDATE ON fieldname FROM filename;
REPLACE fieldname1 WITH expr1
[, fieldname2 WITH expr2 [, ...]]
给记录加删除标记(SQL命令):
DELETE FROM [databasename!]tablename;
[WHERE 条件]
给记录加删除标记:
DELETE [范围] [FOR 条件] [WHILE 条件];
[IN 工作区号|表别名]
永久删除加了删除标记的记录:
PACK
永久删除打开的数据库中加了删除标记的记录:
PACK DATABASE
去掉删除标记(恢复)
RECALL [常用子句]
删除一个表中所有记录(保留表的结构):
ZAP [IN tablename|alias]
为数据表文件追加记录:
APPEND [BLANK][IN 工作区号|别名]
从另一个文件中提取数据添加到当前数据表的尾部:
APPEND FROM filename|? [FIELDS 字段名列表][ FOR 条件]
其中filename所指定的文件可以是数据表、EXCEL电子表格、文本文件等,如果不是数据表,需要其它子句指定格式(详见手册)。
用内存数组的值添加到当前数据表的尾部:
APPEND FROM ARRAY arrayname [ FOR 条件][FIELDS字段名列表]
数据中的一行对应一个新记录,一列对应一个字段。
从一个文件输入一个OLE对象放入一个通用(general)字段 :
APPEND GENERAL 通用字段名 [FROM filename]
如果省略子句FROM filename,则将指定的字段清空。
将一个文本文件的内容拷贝到一个备注字段 :
APPEND MEMO 备注字段名 [FROM filename][OVERWRITE]
如果省略子句FROM filename,则将指定的字段清空。
插入新记录(在当前记录之前或后插入):
INSERT [BLANK] [BEFORE]
如不省略BLANK,则插入一个空白记录,且不显示输入窗口。
在表中插入新记录并赋值(SQL命令):
INSERT INTO tablename [(字段1 [, 字段2, ...])]VALUES (eExpression1 [, eExpression2, ...])
或
INSERT INTO tablename FROM ARRAY ArrayName | FROM MEMVAR
如带有FROM MEMVAR子句,则用同名的内存变量给字段赋值。
清除当前记录中字段的数据:
BLANK [常用子句]
移动记录指针:
SKIP [n] [IN 工作区号|表别名]
五、文件管理(文件和文件夹的复制、创建和删除)
从当前表复制出表或其它类型的文件(表须打开)
COPY TO filename [FIELDS 字段名列表] [常用子句] [其它子句]
如果没有指定类型,则复制一个与当前的表相同的数据表。
复制表的结构
COPY STRUCTURE TO filename [FIELDS字段名列表]
复制任何文件:
COPY FILE 源文件 TO 目的文件
如果用此命令复制表,表须关闭
从磁盘上删除任意文件:
(1)ERASE filename|?
(2)DELETE FILE [filename|?]
任意文件改名(或文件移动到另一文件夹):
RENAME filename1 TO filename2
其中filename1和filename2都可以包含路径。如二者不在同一文件夹,则将filename1移动到filename2所在的文件夹。
显示一个文件夹中的文件信息:
DIR | DIRECTORY [ON drive]
从磁盘上删除一个文件夹:
RD | REDIR 文件夹名
在磁盘上建立一个文件夹:
MD | MKDIR文件夹名
六、数据的复制与传送
单个记录与数组间的数据传送
当前记录 → 数组或内存变量:
SCATTER [FIELDS字段名列表][MEMO]TO 数组名 [BLANK] | MEMVAR [BLANK]
其中[BLANK]表示建立一个空元素的数组。如果用MEMVAR子句,则表示将各字段的值复制到同名同类型的内存变量。
如果包含MEMO子句,则备注字段一起复制。
数组或内存变量 → 当前记录
GATHER FROM 数组名 | MEMVAR [FILEDS字段名列表] [MEMO]
用同名的内存变量或数组中的第一行置换当前记录,如果数组为多行的二维数组,也只用第一行。
成批记录与数组间的数据传送
表 → 数组:
COPY TO ARRAY arrayname [常用子句]
数组 → 表:
(1) APPEND FROM ARRAY arrayname [ FOR 条件][FIELDS字段名列表]
用内存数组的值加在数据表的尾部,数据中的一行对应一个新记录,一列对应一个字段。
(2) REPLACE FROM ARRAY数组名 [常用子句]
用内存数组的值更新数据表中符合条件的记录。
查询结果 → 数组:
SELECT …… INTO ARRAY arrayname
将SQL SELECT语句的查询结果传给数组arrayname。这里“SELECT ……”可为各种形式的SELECT查询语句。
给内存变量赋值:
STORE 表达式 TO 变量名
或
变量名=表达式
七、排序与索引
将当前表排序后建立一个新数据表:
SORT TO 文件名 ON 字段名1 [/A | /D] ;
[/C] [ 字段名2 [/A | /D] [/C] ...];
[ASCENDING | DESCENDING] [常用子句];
建立单索引文件:
INDEX ON 表达式 TO 单索引文件名;
[FOR<条件>] [UNIQUE] [COMPACT];
[ASCENDING][DESCENDING][ADDITIVE]
建立复合索引文件:
INDEX ON 表达式 TO TAG 索引名 [OF 复合索引文件名];
[FOR 条件] [UNIQUE|CANDIDATE];
[ASCENDING][DESCENDING][ADDITIVE]
使用索引文件:
打开表时将索引文件一并打开,USE命令带INDEX子句:
USE tablename|? [IN 工作区号][INDEX 索引文件名列表|?]
给当前表打开一个或多个索引文件:
SET INDEX TO〔索引文件名列表|?〕;
[ORDER 索引文件名序号|索引文件名|[TAG]索引名 [OF 复合索引文件名] ;
[ASCENDING][DESCENDING]〕
指定字符字段在排序或索引时的整理系列:
SET COLLATE TO 整理系列
对于汉字字符串,“整理系列”可以是“Machine”、“PinYin”或“Stroke”三者之一(必须带引号),分别表示按机器码、拼音和笔划排序。
指定当前表中的控制索引文件或标记:
SET ORDER TO;
[索引文件名序号|索引文件名|[TAG]索引名 [OF 复合索引文件名];
[IN 工作区号|表别名];
[ASCENDING][DESCENDING]
删除索引
DELETE TAG ALL [OF 复合索引文件名]
DELETE TAG 索引标识1 [OF 复合索引文件名1];
[,索引标识2 [OF 复合索引文件名2]]…
八、查找和定位
顺序查找当前表中满足条件的第一条记录:
LOCATE FOR 条件下[范围][WHILE条件]
找到后将记录指针定位在满足条件的第一条记录,且函数FOUND()的返回值为真。
在索引表中查找:
FIND cExpr
其中cExpr为字符串表达式。如果找到,则记录指针定位在满足条件的第一条记录,且函数FOUND()的返回值为真;查找失败时,FOUND()的返回值为假,记录指针定位在文件尾。
在索引表中查找:
SEEK eExpr;
[ORDER 索引文件名序号|索引文件名|[TAG]索引名 [OF 复合索引文件名] ;
[ASCENDING][DESCENDING]〕;
[IN 工作区号|表别名]
如果找到,则记录指针定位在满足条件的第一条记录,且为真;查找失败时,FOUND()的返回值为假,记录指针定位在文件尾。
继续查找:
CONTINUE
用LOCATE、 FIND或 SEEK查找到一条记录后,用CONTINUE继续查找下一条。
用以上查找命令LOCATE、 FIND、SEEK和CONTINUE的查找结果,都可以通过函数FOUND()的返回值反映出来。
九、统计计算
统计表中的记录数:
COUNT [范围] [FOR 条件] [WHILE 条件][TO内存变量名]
统计满足条件的记录数,显示记录数或将结果赋给内存变量名。
求和:
SUM [表达式列表];
[范围] [FOR 条件] [WHILE 条件][TO内存变量名|TO ARRAY 数组名]
求平均值:
AVERAGE [表达式列表];
[范围] [FOR 条件] [WHILE 条件][TO内存变量名|TO ARRAY 数组名]
对当前表中数值型字段进行分组求和:
TOTAL TO tablename ON 字段名[常用子句]
其中tablename为存放结果的表文件名,字段名为确定求和分组的字段。
计算:
CALCULATE 表达式列表;
[范围] [FOR 条件] [WHILE 条件][TO内存变量名|TO ARRAY 数组名]
其中表达式列表可以是如下函数的任意组合:
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
……
CASE 逻辑表达式2
……
CASE 逻辑表达式n
……
[OTHERWISE]
……
ENDCASE
DO循环:
DO WHILE 条件
[LOOP]
……
[EXIT]
……
ENDDO
FOR循环
FOR 循环变量=初值 TO 终值 STEP 步长
……(中间可插入[LOOP]或[EXIT])
ENDFOR | NEXT
扫描循环(对一个表中满足条件的记录进行循环):
SCAN [范围] [FOR 条件] [WHILE 条件]
……(中间可插入[LOOP]或[EXIT])
ENDSCAN
集合扫描循环
FOR EACH Var IN Group
Commands
[EXIT]
[LOOP]
ENDFOR | NEXT [Var]
十一、其它
定义数组:
DECLARE | DIMENSION 数组名(下标1,下标2,……)
定义过程:
PROCEDURE 过程名
PARAMETERS 参数表
……
RETURN [TO MASTER | TO 程序名]
定义函数:
FUNCTION 函数名
PARAMETERS 参数表
……
RETURN 表达式
调用一个子程序或过程
DO 子程序名 | 过程名 [IN 程序文件名][WITH 实在参数表]
定义公共变量:
PUBLIC 变量名列表
PUBLIC [ARRAY] 数组名1(行1,列1)[, 数组名2(行2,列2) [,…]]
定义私有变量
PRIVATE变量名列表
PRIVATE ALL[LIKE | EXCEPT 通配符]
定义局部变量
LOCAL 变量名列表
LOCAL [ARRAY] 数组名1(行1,列1)[, 数组名2(行2,列2) [,…]]
显示各种信息:
LIST … (格式见有关手册)
DISPLAY … (格式见有关手册)
输出提示信息:
WAIT [<提示信息>] [TO <内存变量>];
[WINDOW[AT[<行>,< 列>] [NOWAIT]];
[CLEAR|NOCLEAR];
[TIMEOUT<数值表达式>]
各种设置命令:
设置是否显示日期中的世纪:
SET CENTURY ON | OFF
设置显示的小数位数:
SET DECIMALS TO 小数位数
设置是否处理带删除标记的记录:
SET DELETED ON | OFF
如果设置为ON,则不处理带删除标记的记录。
设置是否显示命令的结果:
SET TALK ON | OFF
设置文件的搜索路径:
SET PATH TO 路径
设置传给子程序或自定义函数的参数是按值还是按引用方式传递:
SET UDFPARMS TO VALUE | REFERENCE
如设置为TO VALUE,表示按值传递。
执行一个外部命令或程序:
RUN 命令或程序
在指定的位置显示或打印:
@行,列 SAY …
在指定的位置显示表达式的值,并等待用户输入,将输入值赋给一变量:
@行,列 SAY 表达式 GET 变量名 [DEFAULT 表达式]
READ
例:
@2,2 say "请输入金额: " get nMoney default 50
Read
此例先在第2行、第2列显示"请输入金额: ",等待用户输入一个数值,将用户输入值赋给变量nMoney,如果用户不输入数值(直接按回车),则将50赋给nMoney。请注意在下一行不能漏掉“Read”。
⑹ vfp中修改数据表结构的命令是什么
alter table
往表 customer 中添加字段 fax, 并且允许字段有空值
alter table customer add column fax c(20) null
ALTER TABLE xscj RENAME COLUMN kcmc TO kc '重命名字段
增加字段:alter talbe 表名 add 字段名 类型(宽度[,小数位] )
修改字段:alter table 表名 alter column 字段名 类型(宽度[,小数位] )
重命名字段:alter table 表名 rename column 字段名 TO 新字段名
删除字段:alter table 表名 drop column 字段名
⑺ 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. APPEND
在表的末尾添加一个或多个新记录。
11. APPEND FROM
从一个文件中读入记录,添加到当前表的尾部。
12. GO/GOTO
将记录指针移到指定记录上。
13. LOCATE
按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。
14. SEEK
在一个表中搜索首次出现的一个记录。
15. SKIP
使记录指针在表中向前或向后移动。
16. CONTINUE
继续执行先前的LOCATE命令。
17. EDIT
显示要编辑的字段。
18. DELETE
给要删除的记录做标记。
19. DELETE-SQL
给要删除的记录做标记。
20. PACK
从当前表中永久删除有删除标记的记录。
21. RECALL
恢复所选表中带删除标记的记录。
22. ZAP
从表中删除所有记录。
23. INSERT-SQL
在表尾追加一个包含指定字段值的记录。
24. REPLACE
更新表的记录内容。
25. UPDATE-SQL
以新值更新表中的记录。
26. SET EXCLUSIVE
指定Visual FoxPro在网络上是以独占方式,还是以共享方式打开表文件。
27. SET FILTER
指定访问当前表中记录时必须满足的条件。
28. SET DELETED
指定Visual FoxPro 是否处理标有删除标记的记录。
29. SET INDEX
打开一个或多个索引文件,供当前表使用。
30. SET ORDER
指定表的主控索引文件或标识。
31. GATHER
将当前选定表中的当前记录的数据替换为某个数组、内存变量组或对象中的数据。
32. SCATTER
从当前记录中把数据复制到一组内存变量或数组中。
33. OPEN DATABASE
打开一个数据库。
34. SET DATABASE
指定当前数据库。
35. DELETE DATABASE
从磁盘上删除数据库。
36. DISPLAY DATABASE
显示有关当前数据库的信息。
37. MODIFY DATABASE
打开数据库设计器,让用户能够交互地修改当前数据库。
38. VALIDATE DATABASE
保证当前数据库中表和索引位置的正确性。
39. SELECT-SQL
从一个表或多个表中检索数据。
40. DO
执行一个Visual FoxPro 程序或过程。
41. DO FORM
运行用表单设计器创建的、编译过的表单或表单集。
42. REPORT
根据MODIFY REPORT或CREATE REPORE创建的报表定义文件,显示或打印报表。
43. CALCULATE
对表中的字段或包含字段的表达式进行财务和统计操作。
二.常用函数
1. ABS(数值表达式)
返回指定数值表达式的绝对值。
2. ALLTRIM(字符表达式)
删除指定字符表达式的前后空格符,并且返回删除空格符后的字符串。
3. ASC(字符表达式)
返回字符表达式中最左边字符的ANSI值。
4. AT(字符串1,字符串2[,N])
返回字符串1在字符串2中出现的位置(N为第几次出现,省略为1)。
5. *ATC(字符串1,字符串2[,N]
同AT(字符串1,字符串2[,N]),不区分字符的大小写。
6. BETWEEN(表达式1,表达式2,表达式3)
当表达式1的值大于等于表达式2的值而小于等于表达式3的值时,返回.T.,否则返回.F.。
7. BOF([工作区号/别名])
返回指定工作区号/别名当前记录是否在表头(省略工作区号/别名为当前工作区)。
8. CHR(数字)
数字在0---255之间,根据指定的ASCII码,返回其对应的字符。
9. CREATEOBJFCT(类名[,参数1,参数2,…])
从类定义或支持OLE的应用程序创建对象。
10. CTOD(字符表达式)
把字符表达式转换成日期表达式。
11. DATE()
返回当前系统日期。
12. DATATIME()
返回当前系统日期和时间。
13. DAY(日期)
返回该日期是某月中的第几天。
14. DBGETPROP(cName,cType,cProperty)
返回当前数据库的属性,或返回当前数据库中字段、命名连接、表或视图的属性。
15. DBSETPROP(cName,cType,cProperty,ePropertyValue)
给当前数据库或当前数据库中的字段、命名连接、表或视图设置一个属性。
16. DBUSED(数据库名称)
当指定的数据库已打开时,返回.T.。
17. DELETED([工作区号/别名])
返回指定工作区号/别名当前记录是否标有删除标记(省略工作区号/别名为当前工作区)。
18. DTOC(日期表达式)
把日期表达式转换成字符表达式
19. EMPTY(表达式)
确定表达式是否为空值。
20. EOF([工作区号/别名])
返回指定工作区号/别名当前记录是否在表尾(省略工作区号/别名为当前工作区)。
21. FCOUNT([工作区号/别名])
返回表中字段数目。
22. FILE(文件名的名称)
如果在磁盘上找到指定的文件,返回.T.。
23. *FEOF(文件句柄号)
判断文件指针的位置是否在文件尾部。
24. GETFILE()
显示“打开”对话框,并返回选定文件的名称。
25. IIF(逻辑表达式,表达式1,表达式2)
根据逻辑表达式的值,返回两个值中的某一个。
26. INKEY([N])
返回一个编号,该编号对应键盘缓冲区中第一个按键操作。N为秒,是等待时间,如省略为一直等待直到有键按下。
27. INT(数值表达式)
返回其整数部分。
28. LEFT(字符串,个数)
从字符串最左边一个字符开始返回指定数目的字符。
29. LEN(字符串表达式)
返回字符串表达式中字符的数目。
30. MAX(表达式1,表达式2[,表达式3,…])
对几个表达式求值,并返回有最大值的表达式。
31. MESSAGEBOX()
显示一个用户自定义对话框(见学习指导)。
32. MIN(表达式1,表达式2[,表达式3,…])
对几个表达式求值,并返回有最小值的表达式。
33. MOD(被除数,除数)
返回余数。
34. MONTH(日期)
返回月份值。
35. ORDER([工作区号/别名])
返回当前表或指定表的主控索引文件或标识。
36. RECCOUNT([工作区号/别名])
返回当前表或指定表中的记录数目。
37. RECNO([工作区号/别名])
返回当前表或指定表中的当前记录号。
38. RIGHT(字符串,个数)
从字符串最右边字符开始返回指定数目的字符。
39. ROUND(数值表达式,位数)
四舍五入
40. SEEK(关键字)
在一个已索引的表中搜索一个记录的第一次出现位置。
41. SPACE(N)
返回N个空格构成的字符串。
42. STR(数值表达式,长度,小数位数)
返回与数值表达式对应的字符串。
43. SUBSTR(字符串,开始位置,个数)
字符串截取。
44. TABLEREVERT()
放弃的缓冲行,缓冲表或临时表的修改。
45. TABLEUPDATE()
执行对缓冲行,缓冲表或临时表的修改。
46. TAG([复合索引文件名,]标识数[,工作区号/别名])
返回打开的CDX多项复合索引文件的标识名。
47. TIME()
返回当前系统时间。
48. TRIM(字符串表达式)
返回删除全部后缀空格的指定字符串表达式。
49. TYPE(字符表达式)
计算字符表达式,并返回其内容的数据类型。
50. USED([工作区号/别名])
确定是否在指定工作区中打开了一个表。
51. VAL(字符表达式)
由数字组成的字符表达式返回数字值。
52. YEAY(日期)
返回年份。
53. CREATEOBJECT()
从类定义或支持OLE的应用程序中创建对象。
54. GETOBJECT()
激活OLE自动化对象,并创建此对象的引用。