FoxPro命令集锦.docx
《FoxPro命令集锦.docx》由会员分享,可在线阅读,更多相关《FoxPro命令集锦.docx(8页珍藏版)》请在冰豆网上搜索。
FoxPro命令集锦
FoxPro命令集锦
FoxPro命令集锦[职称考试用]
一、创建数据表的结构
命令1:
CREATE[路径][表名]
例子:
在A盘创建GZ2数据表。
CREATEA:
GZ2
命令2:
CREATE[新表名]FROM[旧表名]
例子:
在A盘由GZ1创建GZ3数据表。
CREATEA:
GZ3FROMA:
GZ1
二、表结构的显示
命令:
LISTSTRUCTURE
DISPLAYSTRUCTURE
例子:
显示当前数据表在结构。
LISTSTRUCTURE
三、数据表的打开
命令:
USE表名[INDEX索引文件名][EXCLUSIVE]
例子:
打开A盘GZ1数据表。
USEA:
GZ1
四、数据表的关闭
命令:
USE
CLOSEDATA
例子:
关闭当前打开的数据表。
USE
五、表结构的修改
命令:
MODIFYSTRUCTURE
例子:
修改当前数据表的结构。
MODIFYSTRUCTURE
六、表数据的输入
命令:
APPEND[BLANK]
例子:
向当前数据表追加数据。
APPEND
七、表记录的显示
命令:
BROWSE[FIELDS字段表][FOR条件]
LIST[范围][[FIELDS]字段表][FOR条件]
DISPLAY[范围][[FIELDS]字段表][FOR条件]
例子:
显示当前表中“应发合计”大于1000元的记录的职工编号、姓名、应发合计三个字段。
BROWSEFIELDS职工编号,姓名,应发合计FOR应发合计>1000
LIST职工编号,姓名,应发合计FOR应发合计>1000
八、用复制方法建新表
命令:
COPYTO新表名[范围][FIELDS字段表][FOR条件]
例子:
把当前表中“应发合计”大于1000元的记录复制到新数据表GZ2中。
COPYTOA:
GZ2FOR应发合计>1000
九、从其他表取数据
命令:
APPENDFROM表名[FOR条件]
例子:
把GZ1表中“应发合计”大于1000的记录复制到当前的表后面。
APPENDFROMGZ1FOR应发合计>1000
十、记录指针定位
命令:
GOn|TOP|BOTTOM(绝对移动)
SKIP[±n](相对移动)
例子:
把记录指针移到第1条记录。
GOTOP
十一、记录的插入
命令:
INSERT[BLANK][BEFORE]
例子:
在当前记录后插入一条空记录。
INSERTBLANK
十一、修改记录
命令:
EDIT[范围][[FIELDS]字段表][FOR条件]
例子:
进入修改记录状态。
EDIT
十二、替换记录
命令:
REPLACE[范围]字段WITH表达式[FOR条件]
例子:
计算各记录“应发合计”字段的值。
REPLACEALL应发合计WITH职务工资+岗位津贴+保留奖金+保留津贴
十三、删除记录
命令:
DELETE[范围][FOR条件](打删除标记)
PACK(删除有删除标记的记录)
ZAP(删除所有记录)
例子:
删除“职工编号”空白的记录。
DELETEALLFOR职工编号=""
PACK
十四、数据表排序
排序——是物理排序,生成一个新的表文件。
命令:
SORTTO新表名ON字段名[/A][/D][范围][FOR条件]
例子:
把当前表中记录按“应发合计”从大到小重新排序。
SORTTOA:
GZ3ON应发合计/D
十五、数据表索引
索引——是逻辑排序,生成一个索引文件。
(一)标准索引文件:
IDX
命令:
新建索引:
INDEXON字段名表达式TO索引文件名
同时打开:
USE表名INDEX索引文件名
之后打开:
SETINDEXTO索引文件名
重新索引:
INDEXON字段名表达式TO索引文件名
关闭索引:
SETINDEXTO
例子:
对当前数据表以“应发合计”从大到小排列。
INDEXON-应发合计TOGZ
(二)复合索引文件:
CDX
命令:
新建索引:
INDEXON字段名TAG标记[ASCEDING|DESCENDING]
同时打开:
USE表名ORDER[TAG]标记
改变索引:
SETORDERTO[TAG]标记
重新索引:
INDEXON字段名TAG标记
关闭索引:
SETORDERTO
删除索引:
DELETETAG标记
例子:
对当前数据表以“应发合计”从大到小排列。
INDEXON应发合计TAGHJDESC
十六、查找记录
(一)顺序查找
命令:
LOCATEFOR条件[范围]
继续查找命令:
CONTINUE
例子:
在当前的表中查找姓“张”的记录。
LOCATEFOR姓名="张"
(二)索引查找
根据当前的索引来查找记录。
命令:
FIND字符串
SEEK表达式
用FOUND()检查找到否。
例子:
在当前的表中查找姓“张”的记录。
FIND张
SEEK"张"
(三)查找函数
函数:
SEEK()
例子:
在当前的表中查找姓“张”的记录。
SEEK("张")
十七、统计数据表记录个数
命令:
COUNT[范围][FOR条件][TO变量]
例子:
统计当前表中“应发合计”大于1000元的人数。
COUNTFOR应发合计>1000
十八、数据表数值字段的求和
命令:
SUM[范围][FOR条件][TO变量]
例子:
统计当前表中“应发合计”字段的总和。
SUM应发合计
十九、算术平均值的计算
命令:
AVERAGE[范围][FOR条件][TO变量]
例子:
统计当前表中“应发合计”字段的平均值。
AVERAGE应发合计
二十、多功能计算
命令:
CALCULATE表达式[范围][FOR条件][TO变量]
例子:
分别统计当前表中“应发合计”字段的人数、总和、平均值。
CALCULATECNT(应发合计),SUM(应发合计),AVG(应发合计)
二十一、练习
用命令完成:
1、建立一个“应扣工资部分表”数据表,起名GZ2.DBF。
数据表有职工编号、姓名、年月、水费、电费、公积金、应扣合计7个字段。
2、输入10个记录。
3、显示数据表结构,以两种方式显示数据表记录。
4、删除记录。
5、分别建立职工编号、姓名的索引,查找记录。
6、只显示“应发扣计”大于100元的记录。
7、只显示职工编号、姓名、应扣合计三个字段。
8、分别统计表中“应扣合计”字段的人数、总和、平均值。
●加密确认密码的代码事件:
closdatabase
use mmk2
if.t.
if allt(thisform.password2.value)=allt(mmk2.xm)
if allt(thisform.password1.value)=allt(mmk2.mm)
use
doformwdxrrcda
endif
endif
thisform.release
else
quit
endif
thisform.release
●在表单form1文本框中,设置显示当前时间:
This.value=datetime()
●表单form1、actiiate设置代码,在屏幕中停留时间:
ttime=datetime()
dowhildatetime()-ttime<=3 &&定为3秒钟
enddo
doform<调用的表单>
●打开数据库生成表格:
expoto<生成的表格名称>xls
分工种统计最高分、最低分、平均分
●sele工种as工种分类,max(考试成绩)as本工种最高分数,min(考试成绩)as本工种最低分数fromygcjlr GROUPBY1TOSCREEN
●sele工种as工种分类,max(考试成绩)as本工种最高分数,min(考试成绩)as本工种最低分数fromygcjlr GROUPBY1TOSCREEN &&临时表
●sele工种as工种分类,max(考试成绩)as本工种最高分数,min(考试成绩)as本工种最低分数,avg(考试成绩)as平均成绩fromygcjlr GROUPBY1TOSCREEN
●sele工种as工种分类,max(考试成绩)as本工种最高分数,min(考试成绩)as本工种最低分数,avg(考试成绩)as平均成绩fromygcjlr GROUPBY1intocursor汇总表 &&生成临时表
●copy to 汇总库 &&生成正式表
●expoto 汇总正式表xls &&转表格
●低于80高于90分的人员:
select单位,姓名,考试成绩fromygcjlrwhere考试成绩notBETWEEN80AND90TOSCREEN
●显示1965年出生的人员
sele姓名,工作单位,出生年月from员工培训where出生年月like "1965%" toscreen
●80至90之间人员的分数
select单位,姓名,考试成绩fromygcjlrwhere考试成绩 BETWEEN80AND90TOSCREEN
●统计1985和1988年参加工作时间的人数
sele姓名,工作时间from薪酬用where val(工作时间) betw1985and1988 toscreen
●统计各工种的成绩情况:
sele工种as工种统计,count(*),max(考试成绩),min(考试成绩),avg(考试成绩)fromygcjlrgroupby工种toscreen
●分单位统计各工种情况
sele单位,工种as工种统计,count(*),max(考试成绩),min(考试成绩),avg(考试成绩)fromygcjlrgroupby工种toscreen
●工种分类并求出各工种的人数:
seledist(工种)as工种分类,count(工种) from ygcjlr group by工种toscreen
●分工种统计以下内容并分类计数:
sele单位,工种as工种统计,count(*)as工种人数,max(考试成绩)as最高分数,min(考试成绩)as最低分数,avg(考试成绩)as平均分数fromygcjlrgroupby工种toscreen &&tocursor生成临时表