FoxPro命令集锦.docx
- 文档编号:4522586
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:8
- 大小:44.08KB
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
数据表有职工编号、姓名、年月、水费、电费、公积金、应扣合计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生成临时表
●分类统计成绩人数存入临时表:
sele工种,max(考试成绩)as高分,min(考试成绩)as低分,avg(考试成绩)as平均分数fromygcjlrGROUPBY工种into CURSOR 汇总表
● copyto 汇总一览表
●expoto 汇总一览表xls
●从表格中导入数据库:
IMPORTFROMd:
\qfwwtwdxrr\wdxrrrr\整理文件\qfwdxrr\qfwwtwdxrr\嗣懿文件\重新调整薪酬打印\组合\试验导入.xlsTYPEXL8SHEET"Sheet1"
●按单位、姓名、由高到低分数排序:
sele单位,姓名,考试成绩fromygcjlrwhere单位="采一队"orderby3desctoscreen
●生成新库由高到低排名:
sele单位,姓名,考试成绩fromygcjlrwhere单位="工会"orderby考试成绩descintodbf成绩排名榜
●在指定的记录前添加一条空白记录
go5
insertbeforeblank
●统计工种数、单位工种数、分组,按单位排序生成新库文件:
sele单位,count(工种),工种fromygcjlrgroupby工种orderby单位intodbf工种分类
●查询范围内的工种:
setexacoff &&模糊环境,提示一个以上的关键字
sele工种,姓名,考试成绩,min(考试成绩)as最低分数,avg(考试成绩)as平均分数fromygcjlrwhere工种in("采","压")toscreen
●按单位分组、考试成绩排序并显示所在单位的最高分数:
sele*,max(考试成绩)fromygcjlr groupby 单位orderby考试成绩desc
●查询90至100之间的成绩、工种和单位集中在一块并生成新的数据库
sele*fromygcjlrwhere考试成绩 between90and100groupby工种orderby单位intodbf汇总表
●查询单位人数,成绩表并生成数据库
sele单位,工种,考试成绩,max(考试成绩)as最高分数,min(考试成绩)as最低分数,avg(考试成绩)as平均分数,cnt(工种)as总人数fromygcjlrgroupby单位intodbf 考试成绩汇总表
●显示工种姓名考试成绩,98.5至99分之间的人数并由高到低排序
selecount(*)as人数,工种,姓名,考试成绩fromygcjlrwhere考试成绩 between 98.5and100orderby考试成绩desctoscreen
●查找所有名字带"霞"字的人员
sele*from员工培训where姓名like"%霞"
●查找姓王的姓氏分布单位的数据:
selecount(单位),单位fromygcjlrwhere姓名like"王%"groupby单位toscreen
●union[all]
●修改命令:
格式:
update<表名>set<字段名1>=<表达式1>[,<字段名2>=<表达式2>……][where<条件>]
例:
把"成绩表"中学号为"0422601"、课程为"pascal"的成绩加5分。
Update成绩表set成绩=成绩+5where学号="0422601"and课程="pascal"
●插入命令:
格式:
insertinto<表名>(<字段名1>[,<字段名2>]…)values(<表达式1>[,<表达式2>]…)
例:
向"成绩表"中插入一个新记录
Insertinto成绩表(学号,课程,成绩)values("0622616","pascal",65)
●删除命令:
格式:
deletefrom<表名>where<条件>
例:
删除"成绩表"中课程为"pascal"的记录
Deletefrom成绩表where课程="pascal"
●在VisualFoxpro程序中显示通用字段图像.将*.jpeg另存为*.bmp图像步骤如下:
将得到的数码图像jpeg(*.jpg;*jpeg;*.jfif)照片,经过重新编辑后另存为:
24位位图(*.bmp;*.dib)文件,即可在程序中(桌面上)显示。
格式:
Appegene个人相片from;alltrim(thisform.pageframe1.page1.container1.text2.value)+".bmp";link &&加入指定的个人照片
●左上角显示图标
_screen.icon="\qfwwtwdxrr\wdxrrrr\整理文件\qfwdxrr\qfwwtwdxrr\嗣懿文件\调资用\薪酬图标.ico"
●设置菜单桌面背景方式:
_screen.picture="\programfiles\microsoftvisualstudio\vfp98\杂色背景.jpg"
●截取替换
repl改后标准小计withsubs(改后标准小计,3,12),套前小计withsubs(套前小计,8,12)all
●在表单上输入数字型数据替换的模式:
replnxwithval(allt(thisform.pageframe1.page2.container1.text7.value))
●在表单中操作统计的数据型显示的代码:
countfornx=val(alltrim(thisform.container1.text8.value))torr_nx
thisform.container1.label17.caption="同一工作年限的人数为:
"+str(rr_nx,4)+"人"
●按指定页数打印
repoform薪资台帐toprintprompt
●备注字段的数据储存
不覆盖:
例如:
appememo信访内容from试验.txt
覆盖:
例如:
appememo信访内容from试验.txt overwrite
条件限制:
appememo信访内容from试验.txt overwritefor姓名="王良"
●备注字段的修改
Modimemo<备注字段名>
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FoxPro 命令 集锦