foxpro常用语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这是一组经常要用到的VFP命令与函数。
01. select :
SELECT distinct zsbh2003.zg from zsbh2003 &&相同的记录只显示一次
SELECT distinct zsbh2003.zg from zsbh2003 INTO array mm &&相同的记录只显示一次,并保存于数组中
SELECT distinct zsbh2003.zg from zsbh2003 INTO cursor temp &&相同的记录只显示一次,并保存于虚拟暂存表中
SELECT distinct zsbh2003.zg from zsbh2003 INTO table temp &&相同的记录只显示一次,并保存于表中
? _tally && 查询结果中的记录数
02. replicate( ) 函数返回一个字符串,这个字符串是将指定字符表达式重复指定次数后得到的。
REPLICATE(cExpression, nTimes)
cExpression: 指定要重复的字符表达式。
nTimes: 指定字符表达式的重复次数。
在Visual FoxPro 中,结果字符串的最大长度只受可用内存数量的限制。
03. report 命令
根据MODIFY REPORT 或CREATE REPORT 创建的报表定义文件显示或打印报表。
REPORT FORM FileName1 | ?
[ENVIRONMENT]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[HEADING cHeadingText]
[NOCONSOLE]
[NOOPTIMIZE]
[PLAIN]
[RANGE nStartPage [, nEndPage]]
[PREVIEW [[IN] WINDOW WindowName | IN SCREEN]
[NOWAIT]]
[TO PRINTER [PROMPT] | TO FILE FileName2 [ASCII]]
[NAME ObjectName]
[SUMMARY]
参数描述
FileName1: 指定报表定义文件的名称。
?: 显示"打开"对话框,从中可选择报表文件。
Scope: 指定要包含在报表中的记录范围。
只有在指定范围内的记录才包括在报表中。
Sco pe 子句有:ALL、NEXT nRecords、RECORD nRecordNumber 和REST。
有关scope 子句的详细内容,请参阅帮助中的Scope 子句和语言概述。
REPORT 的默认范围是所有记录(ALL)。
FOR lExpression1只有使表达式lExpression1 的计算值为"真"(.T.) 的记录,才打印其中的数据。
包括FOR 可以筛选出不想打印的记录。
如果lExpression1 是一个可优化表达式,Rushmore 将优化REPORT FOR 命令。
为获得最佳运行性能,应在FOR 表达式中使用可优化表达式。
详细内容,请参阅稍后的SET OPTIMIZE 命令与《Microsoft Visual FoxPro 6.0 中文版程序员指南》第十五章"优化应用程序"中的"掌握Rushmore 技术"。
WHILE lExpression2指定一个逻辑表达式lExpression2 作为打印数据的条件。
只要lExp ression2条件计算为"真" (.T.) ,就打印记录中的数据,直至遇到使表达式不为"真"(.T.) 的记录为止。
HEADING cHeadingText:指定放在报表每页上的附加标题文本。
如果既包括HEADING
又包括了PLAIN,应把PLAIN 子句放在前面。
NOCONSOLE:当打印报表或将报表传输到一个文件时,不在Visual FoxPro 主窗口或用户自定义窗口中显示有关信息。
PLAIN: 指定只在报表开始位置出现的页标题。
RANGE nStartPage [, nEndPage]: 指定要打印的页码范围。
nStartPage 指定了要打印的第一页;nEndPage 指定了要打印的最后一页。
如果省略nEndPage,则要打印的最后一页默认为9,999。
PREVIEW [[IN] WINDOW WindowName | IN SCREEN] :以页面预览模式显示报表,而不把报表送到打印机中打印。
要打印报表,必须发出带TO PRINTER 子句的report 命令。
请注意:当命令中包括PREVIEW 子句时,忽略系统变量。
使用可选的WINDOW 或IN WINDOW 子句中,您可以指定一个窗口WindowName,报表输出到这个窗口中。
该窗口可由DEFINE WINDOW 命令定义。
如果包含WINDOW 子句,则使用WindowName 指定的窗口的特性(例如标题、大小等等)进行预览。
如果包含了IN WINDOW 子句,则在WindowName 指定的窗口中预览报表。
包含可选的IN SCREEN 子句,表明报表预览窗口位于Visual FoxPro 主窗口中,并且不能移动到外面去。
可以在命令中包括可选的NOWAIT 子句。
这时,Visual FoxPro 能够在运行程序时不等待关闭页面预览窗口就继续执行程序。
也就是说,当页面窗口打开时,Visual FoxPro 继续运行程序。
在已发布的应用程序中,应确保可以得到"查看"菜单。
关掉打印预览工具栏时,如果没有"查看"菜单,将无法恢复"打印预览"工具栏。
TO PRINTER [PROMPT]: 把报表输送到打印机打印。
在Visual FoxPro 中,命令中可以包括可选的PROMPT 子句,在打印开始前显示设置打印机的对话框。
可调整的打印设置项取决于当前安装的打印机驱动程序。
PROMPT 子句应紧跟在TO PRINTER 子句之后。
学过VFP(Microsoft Visual FoxPro)的朋友都知道它是微软公司开发的数
据库管理系统。
它
经历了从dBASE、FoxBASE、FoxPro直到VFP的发展过程。
本文便以VFP 6.0
为例介绍它的命令、函数
及程序语句,为学习VFP的朋友提供必要的学习参考,也为已经精通VFP的
朋友提供复习的好机会。
一、主要命令:
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<条件>]
VFP命令、函数及程序语句大全(2)。