导航:首页 > 程序命令 > vfp统计命令

vfp统计命令

发布时间:2023-03-18 13:34:21

❶ visualfoxpro常用命令

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)

❷ 计算机二级vfp数据库常用命令有哪些

数据库文件及记录命令
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 显示要编辑的字段 EXPORT 把VisualFoxPro表中的数据复制到其他格式的文件中
FIND 查找记录
FLUSH 将对表和索引所作的修改存入磁盘
FREE TABLE 删除表中的数据库引用
GATHER 将当前选定表中当前记录的数据替换为某个数组、内存变量组或对象中的数据
GO|GOTO 将记录指针移动到指定记录上
IMPORT 从外部文件导入数据,创建一个VisualFoxPro新表
INSERT 插入记录
JOIN 将两个数据库文件合并
LIST 连续显示表或环境信息
LIST CONNECTIONS 连续显示有关当前数据库中命名连接的信息
LIST DATABASE 连续显示有关当前数据库的信息
LIST PROCEDURES 连续显示当前数据库存储过程的名称
LIST TABLES 连续显示包含在当前数据库中的所有表和表的信息
LIST VIEWS 连续显示当前数据库中有关SQL视图的信息
LOCATE 按顺序搜索表从而找到满足指定逻辑表达式的第一个记录
MODIFY CONNECTION 显示连接设计器,让你能够交互地修改当前数据库中已有的命名连接
MODIFY DATABASE 打开数据库设计器,让你能够交互地修改当前数据库
MODIFY GENERAL 在编辑窗口中打开当前记录中的通用字段
MODIFY MEMO 打开当前记录备注字段的编辑窗口
MODIFY PROCEDURE 打开VisualFoxPro文本编辑器,可在其中为当前数据库创建新的存储过程
MODIFY STRUCTURE 显示表设计器
MODIFY VIEW 显示视图设计器
OPEN DATABASE 打开一个数据库
PACK 从当前表中永久删除标有删除标记的记录
PACK DATABASE 从当前数据库中删除标有删除标记的记录
RECALL 恢复所选表中带有删除标记的记录 •
REMOVE TABLE 从当前数据库中移去一个表
RENAME CONNECTION 重命名当前数据库中的一个命名连接
RENAME TABLE 重命名当前数据库中的表
RENAME VIEW 重命名当前数据库中的3QL视图
REPLACE 更新表的记录内容
REPLACE FROM ARRAY 使用内存变量数组中的值更新字段内容
SCAN...ENDSCAN 运行扫描数据表文件
SCATTER 从当前记录中把数据复制到一组内存变量或数组中
SEEK 查找记录命令
SELECT 激活指定工作区
SET AUTOINCERROR 在自动增加值产生错误时是否更新或插入一个值到记录中
SET COLLATE 指定在后续索引和拌序操作中,字符型字段的排序顺序
SET DATABASE 指定当前数据库
SET DATASESSION 激活指定的表单数据工作期
SET DELETED 指定VisualFoxPro是否处理标有删除标记的记录,以及其他命令是否可以操作它们
SET EXCLUSIVE 指定VisualFoxPro在网络上以独占方式还是共享方式打开表文件
SET FIELDS 指定可以访问表中的哪些字段
SET FILTER 指定访问当前表中记录时必须满足的条件
SET INDEX 打开一个或多个索引文件,供当前表使用 ;

❸ vfp中total命令的用法

最简单的命令不是用total,可以用calculate命令,例如,你要统计所有id为a的num总和到变量num_total:
calculate sum(num) for id="a" to num_total
如果你要统计9/5/2007的
calculate sum(num) for date={9/5/2007} to num_total

total 命令:
计算当前选定表中数值字段的总和。

TOTAL TO TableName ON FieldName [FIELDS FieldNameList] [Scope]
[FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
参数
TableName
指定存放计算结果的表的名称。如果指定的表不存在,Visual FoxPro 将创建它;如果表存在,并且 SET SAFETY 为 ON,则 Visual FoxPro 将询问是否要改写这个已存在的表。如果 SET SAFETY 为 OFF,则不做任何提示直接改写输出表。
FieldName
指定总计时作为分组依据的字段。表必须以该字段排序,或者打开的索引或索引标识必须以该字段作为其关键字表达式。
FIELDS FieldNameList
指定要总计的字段。列表中的字段名用逗号分隔。如果省略了 FIELDS 子句,默认合计所有的数值型字段。
Scope
指定要合计的记录范围。范围子句有:ALL,NEXT nRecords,Record nRecordNumber 和 REST。有关范围子句的详细内容,请参阅联机主题中的 scope(作用域)子句 或 语言概述。
TOTAL 命令默认的范围是全部 (ALL) 记录。

FOR lExpression1
指定一个条件,只有满足该逻辑条件 lExpression1 的记录包含在总计中。
如果 lExpression1 是可优化表达式,那么 Rushmore 可以优化 TOTAL ... FOR 创建的查询。为了达到更好的性能,请在 FOR 子句中使用可优化表达式。

详细信息, 参见SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。

WHILE lExpression2
指定一个条件,只要逻辑表达式 lExpression2 计算为“真”(.T.) 时,当前表中的记录就包含在总计中。
NOOPTIMIZE
关闭 TOTAL 的 Rushmore 优化。
详细信息, 参见SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。

备注
要使用此命令,当前工作区中的表必须经过排序或索引。对于具有相同字段值或索引关键字值的各组记录,将分别计算其总计值。总计结果放入另一个表的记录中,同时在此表中还将对这些字段值或索引关键字值创建一条记录。

如果第二个表中数值字段的宽度不足以放置总计值,将会发生数值溢出错误。当发生数值溢出错误时,Visual FoxPro 保存总计值最主要的部分:

小数位被截断,即对总计值余下小数位进行圆整。
如果总计值仍然不能放下,例如包含七位以上的数字,这时将采用科学计数法表示。
最后,用星号代替字段的内容。

❹ VFP中如何统计表中记录数

直接用 recc()这个函数不就行了么?

以下是手册内容:

返回当前或指定表中的记录数目。
RECCOUNT([nWorkArea | cTableAlias])

返回值

数值型

参数

nWorkArea
指定表所在的工作区编号。
如果在指定的工作区中没有打开的表,RECCOUNT( ) 返回 0。

cTableAlias
指定表别名。

备注

SET DELETED 和 FILTER 命令并不影响 reccount( ) 函数的返回值。

不带可选参数 nWorkArea 或 cTableAlias 的 reccount( ) 函数返回当前所选工作区中表的记录数目。

示例

❺ VFP命令大全 主要命令 格式 实例 直接QQ邮箱[email protected]

类别
命令

建立文件类
CREATE,MODIFY,COPY,SAVE等

数据库操作类
USE,CLOSE,COPY,MODIFY STRUCTURE等

数据编辑类
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,DO WHILE…ENDDO,IF…ENDIF等

系统设置类
SET TALK,SET DEFAULT TO等

¨ 命令格式

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/TO

APPEND FROM,COPY FILE TO <目标文件>

2.限制记录范围(SCOPE)

ALL 所有记录

NEXT<n> 本记录后的第几个记录

RECORD<1> 第1个记录

REST 当前记录之后所有记录

3.选择字段

FIELDS<字段表>选择输入/输出的字段。

4.限制条件

FOR/WHILE<条件>

FOR 基本工资>100 .AND.基本工资<200

¨ 命令格式规则

命令的行为单位,一行书写不完,在未尾加上“;”第二行接着写。

必须以命令动词开头,动词后的短语顺序不限。

命令中大小写字母等效。

命令动词和关键字可以只写前4个字符。

不得用命令动词或关键字作为自定义变量、 函数、程序名。

一.表结构的操作
1.创建表结构
命令1:CREATE [路径][表名]
例子:在A盘创建GZ2数据表。
CREATE A:GZ2
命令2:CREATE [新表名] FROM [旧表名]
例子:在A盘由GZ1创建GZ3数据表。
CREATE A:GZ3 FROM A:GZ1
命令3:COPY STRUCTRUE TO [路径][表名]
例子:在D盘生成一个与正在使用的表结构相同的新表文件MY
COPY STRUCTRUE TO D:\MY
2.表结构的显示
命令:LIST STRUCTURE
DISPLAY STRUCTURE
例子:显示当前数据表在结构。
LIST STRUCTURE
3.表结构的修改
命令:MODIFY STRUCTURE
作用:显示表文件结构,并允许修改此表的结构
说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
例子:修改当前数据表的结构。
MODIFY STRUCTURE

二.表文件的打开和关闭
1.打开
命令:USE 表名 [INDEX 索引文件名] [EXCLUSIVE]
例子:打开A盘GZ1数据表。
USE A:\GZ1
例子:以独占方式打开当前表文件XX
USE XX EXCLUSIVE
2.关闭
命令:USE
例子:关闭当前打开的表。
USE

三.记录指针的定位
1. 绝对定位
命令:GO[TO] n|TOP|BOTTOM
说明: n定位到第n条记录,TOP定位到最上面一条记录,BOTTOM定位到最下端一条记录
2.相对定位
命令:SKIP [+|-]n
说明:它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一条记录。

四.表数据的添加
1.记录的追加
命令:APPEND [BLANK]
例子:向当前数据表尾部追加记录。
APPEND
例子:向当前数据表尾部追加一条空记录。
APPEND BLANK
2.记录的插入
命令:INSERT [BLANK][BEFORE]
例子:在当前记录后插入一条空记录。
INSERT BLANK
例子:在第3条记录前插入一条记录。
GO 3
INSERT BEFORE
3.用复制方法建新表记录
命令:COPY TO 新表名 [范围][FIELDS 字段表][FOR 条件]
例子:把当前表中“应发合计”大于1000元的记录复制到新数据表GZ2中。
COPY TO A:GZ2 FOR 应发合计>1000
4.从其他表取数据
命令:APPEND FROM 表名 [FOR 条件]
例子:把GZ1表中“应发合计”大于1000的记录复制到当前的表后面。
APPEND FROM GZ1 FOR 应发合计>1000

五.表记录的显示
1.浏览显示
命令:BROWSE [FIELDS 字段表][FOR 条件]
例子:显示当前表中“应发合计”大于1000元的记录的职工编号、姓名、应发合计三个字段。
BROWSE FIELDS 职工编号,姓名,应发合计 FOR 应发合计>1000
说明:此命令的结果以浏览窗口的形式出现,具有修改功能。
2.显示输出
命令:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>]
说明:(1)命令带OFF参数表示不显示记录号
(2)范围指定对哪些记录进行操作,(范围包括:RECORD n :第几号记录;NEXT n: 当前记录开始的几个记录;REST: 自当前记录开始至文件末尾的所有记录;ALL 所有的记录。不选范围则隐含范围为ALL)
(3)字段名表指在结果中需要出现的字段名,字段名与字段名之间用逗号分隔。不带时指显示所有字段。
(4)WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;FOR后的条件查找所有满足条件的记录。
(5)TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上打印出来和将显示结果输出到文件。
(6)DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示,并且在该命令中,如果省略范围仅显示当前记录。LIST不分屏,如果省略范围显示所有记录。

六.修改记录内容
1. 编辑或修改的特定记录
命令:CHANG|EDIT [范围][[FIELDS]字段表][FOR 条件] [WHILE <条件>]
例子:修改第五条记录
CHANGE|EDIT RECORD 5
2.成批自动替换记录
命令:REPLACE [范围] 字段 WITH 表达式 [FOR 条件]
例子:计算各记录“应发合计”字段的值。
REPLACE ALL 应发合计 WITH 职务工资+岗位津贴+保留奖金+保留津贴

七.删除记录
1.逻辑删除
命令:DELETE [范围][FOR 条件] (打删除标记)
2.物理删除
命令: PACK (删除有删除标记的记录)
ZAP (删除所有记录)
例子:删除“职工编号”空白的记录。
DELETE ALL FOR 职工编号=""
PACK

八.数据表排序
1.物理排序,生成一个新的表文件。
命令:SORT TO 新表名 ON 字段名 [/A][/D] [范围][FOR 条件]
例子:把当前表中记录按“应发合计”从大到小重新排序。
SORT TO A:GZ3 ON 应发合计 /D
2.逻辑排序,生成一个索引文件。
(一)标准索引文件:IDX
命令:
新建索引:INDEX ON 字段名表达式 TO 索引文件名
同时打开:USE 表名 INDEX 索引文件名
之后打开:SET INDEX TO 索引文件名
重新索引:INDEX ON 字段名表达式 TO 索引文件名
关闭索引:SET INDEX TO
例子:对当前数据表以“应发合计”从大到小排列。
INDEX ON -应发合计 TO GZ

(二)复合索引文件:CDX
命令:
新建索引:INDEX ON 字段名 TAG 标记 [ASCEDING|DESCENDING]
同时打开:USE 表名 ORDER [TAG] 标记
改变索引:SET ORDER TO [TAG] 标记
重新索引:INDEX ON 字段名 TAG 标记
关闭索引:SET ORDER TO
删除索引:DELETE TAG 标记
例子:对当前数据表以“应发合计”从大到小排列。
INDEX ON 应发合计 TAG HJ DESC

九.查找记录
1.顺序查找
命令:LOCATE FOR 条件 [范围]
继续查找命令:CONTINUE
例子:在当前的表中查找姓“张”的记录。
LOCATE FOR 姓名="张"
2.索引查找
说明:根据当前的索引来查找记录。在使用命令前先要按准备查找的字段建立索引或排序
命令:FIND 字符串
SEEK 表达式
用FOUND()检查找到否
例子:在当前的表中查找姓“张”的记录。
FIND 张
SEEK "张"
3.查找函数
说明: 在使用命令前先要按准备查找的字段建立索引或排序
函数:SEEK()
例子:在当前的表中查找姓“张”的记录。
SEEK("张")

十.统计数据表记录个数
命令:COUNT [范围][FOR 条件][TO 变量]
例子:统计当前表中“应发合计”大于1000元的人数。
COUNT FOR 应发合计>1000

十一.数据表数值字段的求和
命令:SUM [范围][FOR 条件][TO 变量]
例子:统计当前表中“应发合计”字段的总和。
SUM 应发合计

十二.算术平均值的计算
命令:AVERAGE [范围][FOR 条件][TO 变量]
例子:统计当前表中“应发合计”字段的平均值。
AVERAGE 应发合计

十三.多功能计算
命令:CALCULATE 表达式 [范围][FOR 条件][TO 变量]
例子:分别统计当前表中“应发合计”字段的人数、总和、平均值。
CALCULATE CNT(应发合计),SUM(应发合计),AVG(应发合计)

❻ VFP怎么写统计字数的命令,还有要消除空格

以下代码用来统羡正大计EDIT1中中文状态下输入的中文字和标点符号的总个数,不包括兄竖空格和回车所占的字符:
在BUTTON中写下如下代码清姿:
nLine=MEMLINES(thisform.edit1.Value)
cL=ALLTRIM(STR((LEN(STRTRAN(THISFORM.EDIT1.Value," "))-(nLine-1)*2)/2))
MESSAGEBOX("字数:" +cL, 0+64+0, "结果")

❼ 求VFP常用命令

VF常用命令和程序命令一、主要命令:
1、CREATE
作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA

,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同

时选择,下同。)
说明:文件指建立以.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|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
所有的记录。不选范围则隐含范围为ALL;FIELDS后跟字段名,字段名与字段名之间用逗号


隔。WHILE后跟条件,FOR后面也跟条件,区别是,WHILE后的条件如果满足,便停止查找;

FOR后的
条件查找所有满足条件的记录。TO PRINT和TO FILE <文件>分别表示将显示结果在打印机上

打印出
来和将显示结果输出到文件。DISPLAY命令在显示记录满屏后,要求用户按任意键继续显示

,并且在
该命令中,如果省略范围仅显示当前记录。格式中,下面两个命令分别为显示表结构(

STRUCTURE)和工作状态(STATUS)。
8、记录的定位
作用:用记录指针(POINTER)定位记录。
格式:GO[TO] RECORD n|TOP|BOTTOM
n
SKIP [+|-]
说明:第一个命令又叫绝对定位,其中,RECORD n定位到n号记录,TOP定位到第1个记录,
BOTTOM定位到最后一个记录。第二个命令定位到第n个记录,n是一个数值。第三个命令又叫

相对定
位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后

移一个记录。
9、CHANGE和EDIT
作用:显示要编辑或修改的字段。
格式:CHANGE|EDIT [<范围>] [FIELDS <字段名表>] [WHILE <条件>] [FOR <条件>]
10、BROWSE
作用:打开一个"浏览"窗口,供用户浏览或修改记录。
格式:BROWSE [FIELDS <字段名表>]
11、REPLACE
作用:用表达式的值代替命令中与之相对应的字段的内容。
格式:REPLACE [<范围>] <字段1> WITH <表达式1>[,<字段2> WITH <表达式2>] [FOR <条

件>
] [WHILE<条件>]
12、DELETE、PACK、ZAP和RECALL
作用:分别是给要删除的记录作删除标记、彻底删除、删除所有记录和取消被选中的表记录


删除标志。
格式:DELETE [<范围>] [WHILE<条件>] [FOR <条件>] (特例:DELETE FILE

FILENAME.DBF,
该命令删除指定的表文件)
PACK
ZAP
RECALL [<范围>] [FOR <条件>] [WHILE<条件>]
13、SORT和INDEX
作用:分别是建立一个其记录以新的物理顺序排列的新表文件和对当前表根据关键字表达式

的值
从小到大排列,并存入TO后指定的索引文件名的文件或复合索引文件的一个标识中。
格式:SORT TO <文件名> ON <字段名1> [/A] [/C] [/D][,<字段名2> [/A] [/C]

[/D]]...
[ASCENDING|DESCENDING] [<范围>] [FOR <条件>] [WHILE<条件>] [FIELDS<字段表>]
INDEX ON <关键字表达式> TO <文件名>
INDEX ON <关键字表达式> TAG <标识名> [OF <文件名>] [FOR <条件>]
说明:第1个命令中,/A按字段名升序排序,/D按字段名降序排序,/C忽略大小写,针对字

符型
关键字而言,ASCENDING和DESCENDING分别表示升序和降序。第1个命令建立.dbf表文件,第

2个命令
建立.idx单一索引文件,第3个命令建立.cdx复合索引文件(Compound Index)。
14、USE <表文件名> INDEX <索引文件名表>、SET INDEX TO和SET ORDER TO
作用:分别是打开表文件的同时打开索引文件、打开索引文件和改变主索引。
格式:USE <表文件名> INDEX <索引文件名表>
SET INDEX TO [<索引文件名表>]
SET ORDER TO [<索引文件名>](特例:重新索引命令:REINDEX)
15、FIND、SEEK和LOCATE及CONTINUE
作用:前两个命令FIND和SEEK是在一个已经建立了索引文件的表中,定位到关键字中的内容

与命
令行中字符串相同的第一个记录。后一个命令在用USE打开表文件以后,直接查询表中字段

内容。
格式:FIND <"字符串">|<字符串>
SEEK <表达式>
LOCATE [<范围>] [FOR <条件>] [WHILE<条件>]
CONTINUE
说明:FIND命令与SEEK命令的区别是前者后跟字符串,而后者后跟表达式。在用LOCATE命令

找到
一个匹配记录后,可用CONTINUE命令搜索表的剩余部分来寻找其他匹配的记录。
16、COUNT
作用:统计当前表文件中符合条件的记录数。
格式:COUNT [<范围>] [FOR <条件>] [WHILE<条件>] [TO <内存变量名>]
说明:内存变量名可用除参数外的任意字符。
17、SUM
作用:对当前表中选中记录的全部或指定的数值字段或由指定字段组成的数值表达式累加求

和。
格式:SUM [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条件>]
18、AVERAGE
作用:对当前表中选中记录的全部或部分数值型字段及其组成的表达式求平均值并显示。
格式:AVERAGE [<范围>] [数值<表达式>] [TO <内存变量名表>] [FOR <条件>] [WHILE<条

件>]

二、常用函数
1、数学函数
函数 用途
ABS(<数值表达式>) 绝对值,|x|
CEILING(<数值表达式>) >=自变量的最小整数
EXP(<数值表达式>) 对基E的幂,e=2.71828
FLOOR(<数值表达式>) <=自变量的最大整数
INT(<数值表达式>) 取整(舍尾)自变量
LOG(<数值表达式>) 自变量的自然对数,ln x
LOG10(<数值表达式>) 自变量的普通对数,lg x
MAX(<表达式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版本号的函数

三、主要程序语句
1、条件判断语句
格式:(1)IF <条件>
<命令语句组>
ENDIF
说明:如果条件为真,则执行命令语句组中的各语句,否则跳过这些命令语句不执行,
而执行ENDIF后的语句。
(2)IF <条件>
<命令语句组1>
ELSE
<命令语句组2>
ENDIF
说明:如果条件为真,执行命令语句组1,否则执行命令语句组2。
(3)IF <条件1>
IF <条件2>
<命令语句组1>
ELSE
<命令语句组2>
ENDIF
...
ELSE
<命令语句组N>
ENDIF
说明:进行多重条件的嵌套选择。
(4)DO CASE
CASE <条件1>
<命令语句组1>
CASE <条件2>
<命令语句组2>
CASE <条件3>
<命令语句组3>
...
...
CASE <条件N>
<命令语句组N>
[OTHERWISE]
[<命令语句组N+1>]
ENDCASE
说明:依次判断条件,转入条件为真的命令语句组中执行。当所有条件都不成立时,若有
OTHERWISE项,则执行命令语句组N+1,否则执行ENDCASE后面的语句。
2、循环语句
格式:(1)DO WHILE <条件>
<命令语句组>
[LOOP]
<命令语句组>
[EXIT]
<命令语句组>
ENDDO
说明:判断条件是否为真,如为真就重复执行循环体中的命令语句组,直到条件为假,结束


环。
(2)SCAN
<命令语句组>
ENDSCAN
说明:在一个表中建立一个执行命令语句组的循环,并执行对每一条记录的操作,直到表文


记录完为止。

VFP常用函数使用说明

1、数值运算函数
函数 操作 例 结果
SQRT(x) 求平方根 SQRT(9) 3
INT(x) 取整数 INT(3.14) 3
ROUND(x) 四舍五入 ROUND(3.14159,4) 3.1416
MOD(x,y) 求X除以Y的余数 MOD(25,4) 1
MAX(x,y) 求X,Y中的最大值 MAX(7,8) 8
MIN(x,y) 求X,Y中的最小值 MIN(1,2,3) 1

2、字符中操作函数
函数名 操作 例 结果
UPPER(S) 小写字母 UPPER(abc) ABC
LOWER(S) 大写字母 LOWER(ACD) acd
LEN(S) 求字符串的长度 LEN("中国1号") 7
AT(S1,S2) 在字符串S2,找字符串S1 AT("H","CHINA") 2
SUBSTR(S,I,N) 在S字符串中的第I个字符起取N个字符 SUBSTR('TECHNOLO',3,3) CHN
LEFT(S,N) 从字符串S左边取N个字符 LEFT("中国人",4) 中国
RIGHT(S,N) 从字符串S右边取N个字符 S=‘12345'
RIGHT(S,3) 345
SPACE(N) 生成N个空格 "合计"+SPACE(2)+"123" 合计123
TRIM(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 G2

3、日期和时间函数
函数名 操作 例 结果
DATE() 求当前日期 DATE() 2001/11/12
DATETIME() 求当前日期和时间 DATETIME() 2001/11/12/0:22:33am
YEAR(D) 求年份 YEAR(DATE()) 2001
MONTH(D) 求月份(数值) MONTH(DATETIME()) 11
CMONTH(D) 求月份(字符) MONTH(DATETIME()) Novenber
DAY(D) 求日期 DAY(DATE()) 12
DOW(D) 求星期几(数值) DOW(DATE()) 1
CDOW(D) 求星期几(英文) CDOW(DATE()) sunday
TIME(D) 求当前时间 TIME(DATE()) 10:20:38am

4、数据类型转换函数
函数名 操作 例 结果
ASC(S) 求第一个字符串的ASCII码 ASC("what") 87
CHR(N) 求ASCII码的字符 CHR(87) w
STR(R,L,D) 数值转换成字符,L为长度,D为小数位数 X=3.1415
STR(X,6,2) 3.14
VAL(S) 字符串转换为数值 VAL("123") 123.00
CTOD(S) 字符串转日期 CTOD('11/01/2002') 11/01/2002
DTOC(D) 日期转换成字符串 DTOC(DATE()) 11/01/2002
DTOS(D) 把日期转成年月日式的字符串 DTOS(DATE()) 20021101
CTOT(C) 字符串转成日期时间型 CTOT(11/01/2002 10:30:50am) 11/01/2002 10:30:50am
DTOT(D) 日期型转为日期时间型 DTOT(DATE()) 11/25/2001 00:00:01am
TTOC(T) 日期时间型转为字符型 TTOC(DATETIME()) 11/25/2001 00:00:01am
TTOD(T) 日期时间型转为日期型 TTOD(DATETIME()) 11/25/2001
IIF(LE,E1,E2) 逻辑判断 IIF(A>0,"YES","NO") YES

5、检测函数
函数名 操作 例 结果
RECNO() 检测当前记录号 RECNO() 1
RECCOUNT() 检测当前记录数 RECCOUNT() 12
BOF() 开始记录 BOF() 1
EOF() 最后记录 EOF() 12
FOUND() 返回查找结果 FOUND() .T.
ROW() 返回当前行坐标 ROW() 1
COL() 返回当前列坐

❽ VFP程序:给一张成绩表,要求统计“成绩”表文件中成绩不及格的记录数,命令该怎么写

打开瞎带表后在命令哗慧窗口中输
count to a for 语文<60
a为变量乱神答,用来记录满足条件的人数
语文为要统计及格不及格的学科
语文<60为条件,统计语文小于60的人数

❾ vfp命令查询统计到另一个字段

试试sql语句吧。
update table_b set x=select sum(...) from table_a

❿ vfp中怎么样求和,平均数,最大、小值。怎么样求排序它们所对应的命令是什么

CALCULATE 命令
对表中的字段或包含字段的表达式进行财务和统计操作。

CALCULATE eExpressionList [Scope] [FOR lExpression1] [WHILE lExpression2]
[TO VarList | TO ARRAY ArrayName] [NOOPTIMIZE]
[IN nWorkArea | cTableAlias]

参数
eExpressionList
指定表达式,该表达式可以包含下列函数的任意组合: AVG(nExpression) CNT( ) 或 COUNT( ) MAX(eExpression) MIN(eExpression) NPV(nExpression1, nExpression2 [, nExpression3]) STD(nExpression) SUM(nExpression) VAR(nExpression) ,用逗号分隔表达式列表 eExpressionList 中的函数。这些函数仅用于 CALCULATE 命令,在本部分后面将详细说明这些函数。不要与有相似名称的独立函数相混淆。例如, CALCULATE MIN( ) 与 MIN( ) 不同。
Scope
指定计算中所使用记录的范围。只有在范围之内的记录才进行计算。Scope 子句有:ALL, NEXT nRecords, RECORD nRecordNumber, 和 REST。 更多的信息,请参见 Scope 子句。 包含 Scope 子句的命令只能在活动工作区内的表上操作。CALCULATE 命令默认的范围是所有记录(ALL)。
FOR lExpression1
指定只有满足逻辑条件 lExpression1 的记录才进行计算。在计算中包含 FOR 子句可以有条件的选择记录,筛选出不想要的记录。如果 lExpression1 是一个可优化表达式,Rushmore 查询优化将对 CALCULATE ... FOR 进行优化。为了获得最佳的性能,应在 FOR 子句中使用可优化表达式。有关 Rushmore 优化表达式的更多信息,请参见SET OPTIMIZE 和 使用 Rushmore 查询优化来加速数据访问。
WHILE lExpression2
指定一个条件,只要逻辑表达式 lExpression2 结果为真(.T.),记录就进行计算。(*译者注:直至遇到第一个为.F.的记录为止)
TO VarList
指定一个或多个用以存储计算结果的变量。若指定的内存变量不存在,Visual FoxPro 自动用指定的名称创建此变量。
TO ARRAY ArrayName
指定存储计算结果的数组名。如果指定的数组不存在,Visual FoxPro 自动用指定的名称创建此数组。如果数组存在,但其容纳不下所有的计算结果,Visual FoxPro 自动扩充数组以容纳信息。如果数组比需要的大,多余元素内容保持不变。计算结果按照 CALCULATE 命令指定的顺序保存到数组。
NOOPTIMIZE
禁止在 CALCULATE 中使用 Rushmore 优化技术。更多的信息,请参见 SET OPTIMIZE 和 使用 Rushmore 查询优化来加速数据访问。
AVG( nExpression)
计算 nExpression 的算术平均值。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
CNT( ) 或 COUNT( )
返回表中记录的数目。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
MAX( eExpression)
返回 eExpression的最大值或最新值。在 MAX( ) 子句中,可指定任何字符型, 日期型, 日期时间型, 数值型, 浮点型, 整型, 双精度型, 或货币型字段,或任何使用这些数据类型的表达式。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
MIN( eExpression)
返回 eExpression 的最小值或最早值。 eExpression 中,可以包含任何字符型, 日期型, 日期时间型, 数值型, 浮点型, 整型, 双精度型, 或货币型字段,或任何使用这些数据类型的有效表达式。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
NPV( nExpression1, nExpression2[, nExpression3])
计算一个固定周期利率下,一系列现金流转的净现值。nExpression1 指定用十进制表示的利率。 nExpression2 指定代表一系列现金流转的字段, 字段表达式, 或数值表达式。每个现金流转可正可负。当 nExpression2 是字段时,每个记录的字段值都认为是一个现金流转。 nExpression3 指定可选的初始投资。如果不包括初始投资,则假定初始投资发生在第一阶段末。这个初始投资就是第一条记录,而且是负的,代表现金流出。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
STD( nExpression)
计算 nExpression 的标准偏差。标准偏差用来衡量字段或包含字段的表达式的值,偏离平均值的程度。标准偏差越小,这些值偏离平均值就越少。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
SUM( nExpression)
对 nExpression 求和。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
VAR( nExpression)
从 nExpression 的平均值中计算方差。方差是标准方差的平方。方差越小,值偏离平均值就越少。只有满足 Scope 和/或 可选的 FOR 或 WHILE 条件的记录才包含到结果中。
IN nWorkArea| cTableAlias
指定受 CALCULATE 命令影响的工作区或表别名。使用该子句指定当前工作区之外的工作区或表。
说明
含有 null 值的记录不包含在 CALCULATE 的操作中。

示例
复制代码
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE orders && 打开 Orders 表

SET TALK ON
CLEAR
CALCULATE AVG(order_amt), MIN(order_amt), MAX(order_amt)
CALCULATE STD(order_amt), VAR(order_amt) TO gnStd, gnVar

阅读全文

与vfp统计命令相关的资料

热点内容
云服务器迁移后 浏览:260
excel格式转换pdf 浏览:987
登录器一般存在哪个文件夹 浏览:535
中兴光猫机器码算法 浏览:330
android响应时间测试 浏览:940
java编程思想第四版答案 浏览:888
如何对nbt编程 浏览:885
mscpdf 浏览:948
文件夹d盘突然0字节可用 浏览:272
吃火腿肠的解压场面 浏览:339
卫星锅加密教程 浏览:792
php7的特性是什么 浏览:469
编译类高级语言源代码运行过程 浏览:177
科普中国app怎么分享 浏览:87
51单片机与32单片机比较 浏览:422
SQL加密存储解密 浏览:507
电气工程师把程序加密 浏览:797
解压切东西动画版 浏览:965
点到椭圆的距离算法 浏览:388
新的编译系统 浏览:533