VF数据库实用讲座第二章-第八章.ppt_第1页
VF数据库实用讲座第二章-第八章.ppt_第2页
VF数据库实用讲座第二章-第八章.ppt_第3页
VF数据库实用讲座第二章-第八章.ppt_第4页
VF数据库实用讲座第二章-第八章.ppt_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual FoxPro窗口和环境设置 项目管理器的应用 数据库的建立及使用,第二章,命令窗,显示主窗,状态行 当前表、记录数,智能菜单 根据打开的窗口不同显示不同菜单内容,VFP的系统界面,VF环境 配置 在成功地安装了 Visual FoxPro 之后,需要设置开发环境。环境设置包括主窗口标题、默认目录、项目、编辑器、调试器及表单工具选项、临时文件存储、拖放字段对应的控件和其他选项。方法:从“工具”菜单选择“选项”命令,注意:将当前设置保存为默认设置,项目管理器的应用,“项目管理器”是 V F 中处理数据和对象的主要组织工具,是 文件、数据、文档和 V F 对象的集合,其保存文件带有 .

2、pjx 扩展名。 在建立表、数据库、查询、表单、报表以及应用程序时,可以用“项目管理器”来组织和管理文件。 “项目管理器”为数据提供了一个组织良好的分层结构视图。若要处理项目中某一特定类型的文件或对象,可选择相应的选项卡。 “项目管理器”显示为一个独立的窗口。可以移动它的位置、改变它的尺寸或者将它折叠起来只显示选项卡。,项目管理器折叠,项目管理器与工具栏合并,“项目管理器”中的项是以类似于大纲的结构来组织的,可以将其展开或折叠,以便查看不同层次中的详细内容。 创建和修改文件-单击右上角的向上箭头,即可折叠,将选项卡拖出来显示,如果项目中具有一个以上同一类型的项,其类型符号旁边会出现一个 + 号

3、。单击 + 号可以显示项目中该类型项的名称。 若要折叠已展开的列表,可单击列表旁边的 - 号,例如,如果想把一些已有的扩展名为 .dbf 的表添加到项目中,只需在“数据”选项卡中选择“自由表”,然后用“添加”按钮把它们添加到项目中。 “项目管理器”简化了创建和修改文件的过程,只需选定要创建或修改的文件类型,然后选择“新建”、“修改”、“添加“或”移去”文件按钮,V FP 将显示与所选文件类型相应的设计工具,选项卡,数据”选项卡,数据库是表的集合,一般通过公共字段彼此关联。使用“数据库设计器”可以创建一个数据库,数据库文件的扩展名为 .dbc。 数据库表和自由表都存贮在以 .dbf 为扩展名的文

4、件中,但自由表不是数据库的组成部分。 查询是检查存贮在表中的特定信息的一种结构化方法。利用“查询设计器”,可以设置查询的格式,该查询将按照输入的规则从表中提取记录。查询被保存为带 .qpr 扩展名的文件。 视图是特殊的查询,通过更改由查询返回的记录,可以用视图访问远程数据或更新数据源。视图只能存在于数据库中,它不是独立的文件。,数据库的建立及使用,建立数据表 确定表中字段的内容 向表中输入数据 修改和浏览数据表 追加其它表中已有的记录 按照条件添加记录,相关概念: VF中的数据库是由表(.dbf)构成的。 “表”是一个的二维的表格,也称为关系,由行和列组成,表格中的每一行称为一个纪录,表格中的

5、每一列则称为一个字段。 使用“表设计器”可以方便、直接地创建表,我们既可以通过“项目管理器”的“数据”选项卡使用“表设计器”创建;也可以从“文件”菜单中使用“表设计器”创建。 自由表,是指它是孤立存在的,和其他表没有发生联系,既不能控制其他表,也不被其他表控制。它独立存在于任何数据库之外。 数据库表,它是数据库的一部分,行 记录 元组,表名 关系名,字段 属性 字段名 属性名 字段值 属性值,这个二维表格,又称关系,数据类型 表中的每一个字段由于其数据代表的意义的不同,因而都有特定的数据类型,例如:编号、姓名、出生年月三个字段的类型是各不相同的,在VF中,分别是用数值型(或整型)、字符型、日期

6、型来表示的。熟悉各种数据类型可以帮助我们更快更好地对表进行操作。VF6.0 表中的数据类型及简单的说明如下:,字符型:用于包含字母、汉字、数字型文本、符号、标点等一种或几种的字段,其中的数字一般不是用来进行数学计算的,如电话号码、姓名、地址。 货币型:货币单位,最多可有四位小数,如果小数部分超过四位则将通过四舍五入只保留四位,如商品价格。 数值型:整数或小数。如:成绩、年龄、 订货数量。如果有小数,需要指定小数位数,小数点包含在字段宽度中,占一个字节。它还支持十六进制数值。 浮点型:同数值型。 整 型:不带小数点的数值。,日期型:用来存放日期数值,Visual FoxPro 6.0(5.0)支

7、持2000年型的日期数值。格式为:月/日/年。如:04/28/97。其中的年份如果输入97,则系统默认为1997,将光标条移到表中该字段时就会显示“04/28/1997”,如果输入小于48的数(如45)则系统默认为2045,因此,最好输入完整的年份。 日期时间型:格式为:月/日/年 时:分:秒 AM或PM。如:04/28/97 06:26:00 AM。 双精度型:双精度数值,如实验所要求的高精度数据。,逻辑型:当存储的数据只有两种可能时使用,用True(.T.)和False(.F.)表示。如:是否结婚。 备注型:又称内存型,它的长度随输入数据的长度而定,它的存储和表中其他数据是分开的,存放在扩

8、展名为.FPT的文件中。 通用型:可以链接或嵌入OLE对象,如由其他应用程序创建的电子表格、WORD文档、图片。当链接OLE对象时,表中只包含指向数据的链接和创建OLE对象的应用程序的链接;当嵌入OLE对象时,表中包含OLE对象复件及指向创建此OLE对象应用程序的链接。,创建新表步骤:,选择新建表,打开表设计器,建立表结构 (也可以用命令:CREATE ) 1、输入字段名。 2、选择字段类型。 (注意,字段的数据类型应与将要存储在其中的信息类型相匹配) 3、选择宽度 (字段的宽度足够容纳将要显示的信息内容,一个汉字需占两个字符。) 4、设置“小数位数” 。 5、如果要为字段添加索引,就在“索引

9、”列中选择一种排序方式。,输入字段名,选择字段类型,建立表结构,选择宽度,选择 小数,建立索引,允许为空,当前行 调整次序,6、如果想让字段接受 null 值,选中“NULL”。NULL无明确的值,它不等同于零或空格。按ctrl+0 输入 字段名前的双向箭头表明是当前行。一行各项目之间用Tab键移动。 7、表的结构设置完毕后, 选取“确定”按钮,会询问“现在输入数据吗?”。此时,可以选择是立即开始输入记录,还是在以后准备好所有记录后再打开表进行输入。,在表中添加记录,“打开”已有的数据库表,点浏览,从“文件”菜单打开,注意文件位置,注意文件类型,在“浏览”窗口中输入新的记录Ctrl+y 。当输

10、入内容满一个字段时, 光标会自动跳到下一个字段。内容不满时,用Tab键或回车键将光标移到下一字段。 当编辑备注型(memo)字段时,将光标条移到memo上,双击它或按Ctrl+Home键就可进入memo字段的输入窗口进行输入、修改。完成后,单击窗口上的关闭按钮“X”或按Ctrl+w可以保存并关闭窗口。如不想保存,则按Esc键或Ctrl +Q。 进入通用型(gen)字段与备注型方法相同。进入编辑窗口后,打开“编辑”菜单,选择“插入对象”进入插入对象窗口。选择“新建”可以创建多种格式的图象。我们选择“由文件创建”,在“文件”框中输入插入对象的文件名,包括路径。,点击修改数据,CTRL+Y, 添加记

11、录,如果选择“链接”则只存储该图象的链接,而不把整个图象包括进通用型字段中。如果选择“显示为图标”则可以用图标表示插入的图象对象。,通用型字段输入 为插入对象,可以新建也可以来自文件,查看表的信息,可以使用“编辑”窗口或“浏览”窗口 浏览窗口的技巧: 将鼠标指向两字段名之间,这时鼠标会变成左右向的双向箭头,用左键按住它左右拖动,字段宽度变化了。这只是显示宽度变化了,并未改变表的结构。 将鼠标指向浏览窗口最左边中间的区域(这里称为记录条调节线,其上称为字段名条调节线,其下的黑色小竖长条称为窗口拆分条),当鼠标变成上下向双向箭头时,按住它上下拖动,就可以改变记录条的高度。 当鼠标在字段名调节线上变

12、成双向箭头时,上下拖动可以改变字段名的高度。,如果我们对字段名的排列顺序不太满意,如想把字段位置调换一下,这也很好办,只要将鼠标放在字段名上时,它会变成一个黑的向下箭头,按住想移动的字段,拖到合适的位置放开。,字段宽度调节线,记录高度 调节线,窗格 分割线,字段 选定,表的字段很多,可以拆分窗口。左右窗格可以都为“编辑”窗口或“浏览”窗口,也可以一边是“编辑”窗口,一边是“浏览”窗口。,另外,还可从“显示”菜单中选择“网格线”来隐藏网格线。,表记录的定位,了解以下几个概念:当前记录:对表中的记录的操作是一个一个的进行的,我们把正在操作的记录叫作当前记录。打开一个表时,第一个记录叫当前记录。记录

13、号RECNO:按记录的输入顺序记录指针:指向当前记录的,并反映了当前记录的记录号。 记录定位:用命令指定当前哪一个记录为记录,以便对其进行操作。 记录的定位方式绝对定位 goto相对定位 skip条件定位 locate,表文件的逻辑结构,记录指针,GO TOP,Eof()=.t.,Bof()=.t.,GOTO 2,Goto record n,Goto bottom,(1) 绝对定位: GOTO 1 记录号必须是一个正整数(或变量,数值表达式)2 还可以如下表示:GOTO TOP 指针指向首记录 GOTO BOTTOM 指针指向末记录3 GOTO可以简写为GO4 记录号为常数时,GO可以省略,只

14、写记录号. (2)相对定位:SKIP +/-功能:在当前记录位置上进行记录指针的相对移动.说明: 1 +,- 号只取一个,+ 号(可以省略)表示当前记录向后移动,- 号(不能省略)表示当前记录向前移动.2 移动距离是一个整数(可以是数值表达式),向后移动一个记录可以省略 +1。,记录定位,单击“作用范围”下拉框,可以看到有“All ”、“ Next”、“ Record”、“Rest”四个选项。 默认的“All”指全部记录;“ Next”配合其右边的数字(如8),表示对从当前记录起以下多少个(如8个)记录进行操作;“ Record”配合其右边的数字,作用与上面的“记录号”相同;“Rest”表示对

15、从当前记录开始,到文件的最后一个记录为止的所有记录进行操作。,如果选择“定位”,会弹出下面的对话框:,“For”、“While”文本框是可选项,可以输入或选择表达式,表示操作的条件。其右边的带“.”的按钮是表达式生成按钮,单击它会弹出对话框,以方便选择操作条件。 “For”、“While”虽然都表示操作条件,但也有区别:For对满足表达式条件的所有记录进行操作;While则从表中的当前记录开始向下顺序判断,只要出现不满足表达式条件的记录就终止,而不管理其后是否还有满足条件的记录。我们看下面两条命令: Brow Next 9 For 成绩85 Brow Next 9 While 成绩85 前者表

16、示的是从当前记录后的9个记录中所有成绩大于85分的记录都显示;而后者则遇到一个符合条件的显示一个,当遇到成绩不大于85 分的记录终止,不再向下显示(其中,Brow是命令,作用是将符合条件的记录显示在“浏览”窗口中) 相当于条件定位命令:LOCATE FOR ,实例 Use exam Go 5 Disp 7 Goto 7 Skip 5 Skip 7 Locate for 电话号码=6666002 continue disp Go bottom ?eof() Skip ?eof,作业题:模拟建立一个项目,建立项目:本人姓名 数据库:学生人员信息库 数据库表:学生名册、成绩表、考勤表等 自由表:通讯

17、录 (以上各表,字段不少于3个,记录不少于2个,内容自定,看谁设计的好),第三章修改表,第一节 1 修改表结构 2 添加记录 3 删除记录 4 编辑记录,例表:exam.dbf,1 修改已有表的结构,在表中增加字段 删除表中的字段 方法:1 打开表设计器进行操作 2 命令:MODI STRU,实例,将 exam.dbf 表中 话费改为话费合计 增加两栏 性别,族别(都是c型) 增设一项:备注(备注型) 增设一项:用户图片(通用型),表设计器,2 添加记录,1、在“浏览”和“编辑”窗口下,选择“追加新纪录”。 2、在“浏览”和“编辑”窗口下,选择“追加纪录”,打开“追加来源”对话窗,进行追加,同

18、时可以选择追加类型、来源、和条件。 3、用命令 APPEND . FROM FOR ,选择追加类型、来源、和条件,Use exam Append from exam for 营业区=“市区” Append Append from exam for 地址=“奎屯铁路” Append from exam for “奎屯铁路”$地址 Append from exam for “123”$地址 菜单操作 FLASH课件第三课:按照条件添加记录,3 删除记录,删除表中的记录共有两个步骤。首先是单击每个要删除记录左边的小方框,标记要删除的记录,标记记录并不等于删除记录。要想真正地删除记录,还应从“表”菜单

19、中选择“彻底删除”。 这个过程将删除所有标记过的记录,并重新构造表中余下的记录。删除做过删除标记的记录时会将表关掉,因此若要继续工作,必须重新打开该表。 删除命令: 逻辑删除 DELETE 逻辑删除记录的恢复命令 RECALL 物理删除 PACK 删除所有记录ZAP 命令,除了通过鼠标单击做删除标记外,还可以通过在“删除”对话框中设置条件,有选择地删除一组记录。步骤: 1、从“表”菜单中选择“删除记录”,出现“删除”对话框: 在其中输入删除条件和范围。 2、在输入完删除条件后,按“删除”按钮,就为符合条件的记录打上了删除标记。 3、从“表”中选择“彻底删除”。,删除标记,例子,Use exam

20、 dele for left(电话号码,3)=“666” dele for 营业区=“团场 Pack 8 Dele next 10 Dele record 10 Dele rest Recall 用户号=72411,4 编辑记录,不管是在“浏览”窗口还是在“编辑”窗口中,都可以滚动记录,查找指定的记录,以及直接修改表的内容。 若要改变“字符型”字段、“数值型”字段、“逻辑型”字段、“日期型”字段或“日期时间型”字段中的信息,可以把光标设在字段中并编辑信息,或者选定整个字段并键入新的信息。 若要编辑“备注型”字段,在“浏览”窗口中双击该字段或按下 CTRL+PGDN或 CTRL+HOME。这时会

21、打开一个“编辑”窗口,其中显示了“备注型”字段的内容。 通过双击“浏览”窗口中的“通用型”字段,在编辑菜单中选插入对象,也可以直接编辑文档,也可以双击对象打开其父类应用程序(生成对象的应用程序,如 Microsoft 画笔)来进一步修改对象。,直接点击修改,表的字段级验证规则和记录级验证规则,字段级有效性规则:来控制用户输入到字段中的信息类型,或检查一个独立于此记录的其他字段值的字段数据。字段级有效性规则在字段值改变时发生作用,它将把所输入的值用所定义的规则表达式进行验证,如果输入的值不满足要求,则拒绝该值。 记录级有效性规则:在向表中输入记录时,用于比较两个以上的字段是否满足一定的条件,如果

22、不满足,记录值被拒绝。,VFP数据完整性,VFP有三类完整性:实体完整性、参照完整性以及用户自定义完整性。 1、用户自定义完整性是指由用户通过编程实现对数据完整性的约束。 2、参照完整性是指相关表之间的数据一致性。 3、实体完整性包括两级:字段的数据完整性和记录的数据完整性。 字段的数据完整性是指输入到字段中的数据的类型或值必须符合某个特定的要求。字段的有效性规则即用以实施字段的数据完整性。 记录的数据完整性是指为记录赋于数据完整性规则。记录的数据完整性通过记录的有效性规则加以实施。,参照完整性(Referential Integrity,简称RI),用来控制数据的一致性,尤其是控制数据库相关

23、表之间的主关键字和外部关键字之间数据一致性的规则。一般来讲,具有一对多关系的两张数据库表要满足以下三个规则: 1、子表中的每一个记录在对应的主表中必须有一个父记录。 2、在父表中修改记录时,如果修改了主关键字的值,则子表中相关记录的外部关键字值必须同样修改。 3、在父表中删除记录时,与该记录中相关的记录必须全部删除。 参照完整性规则包括更新规则、插入规则和删除规则。每一种规则又有“级联”、“限制”、“忽略”三个级别,表的排序,1 排序文件 是一种特殊的表,所有记录按照某个字段的值的大小排序,从小到大,或从大到小排列。 2 排序命令:SORT /C /D ,/D /C TO 功能: 把当前打开的

24、表,指定表中一个或一个以上的字段作为关键字进行排序, 结果得到一个以.dbf为文件扩展名的排序文件, 原文件保留不变.排序文件名与表文件名不能同名。说明:1 逻辑型、备注型和通用型字段不能作排序关键字2 文件名由用户指定,可以不加扩展名,但不得与原文件重名。3 缺省/D项,则按升序排列,否则按降序排列4 /C项只对字符型数据有效,排序时不区分字母的大小写。5 关键字可以取多个,按列举的先后排序。6 用SORT命令产生的排序文件必须打开才能使用。,1.使用一个关键字进行排序的例子 USE d:foxproaddresslist SORT ON 姓名/D TO address1USE d:foxp

25、roaddress1LIST执行以上命令的结果如下: 2.使用两个关键字进行排序的例子 USE d:foxproaddresslist SORT ON 姓名/D, 出生日期/C TO address2USE d:foxproaddress2LIST,表的索引,1、VFP中 的索引索引和书中的目录类似,建立索引是为了快速的查询,索引是一个独立的文件(以.IDX或.CDX为扩展名的文件),也是一个二维表,至少包含二个字段:索引字段(该字段从对应的表中确定,并按该字段进行排序),表记录号字段。依赖这个字段才能把索引文件(.IDX)和表文件(.dbf)中的记录对应起来。 索引并不改变表中所存储记录的顺

26、序,它只改变了VFP读取每条记录的顺序。可以为一个表建立多个索引,每一索引代表一种处理记录的顺序。,2. 命令建立索引文件 命令: INDEX ON TO 说明: 1 关键字段只能是C、N、D、Y型,不能是 L、M、G型。关键字段可以有多个,按索引的先后顺序分别称人第一、第二、关键字。当有多个索引字段时,必须把N、D、Y型的字段转换成C型,用+号连在一起。2 文件名用户指定。可以和原表同名,不用加扩展名,系统自动加上扩展名(IDX)3 刚用INDEX命令建立的索引文件是打开的。例:INDEX ON 姓名 TO address1,3. 在表设计器中建立索引文件,主索引:可确保字段中输入值的唯一性

27、并决定了处理记录的顺序。可以为数据库中的每一个表建立一个主索引。如果某个表已经有了一个主索引,可以继续添加候选索引。 候选索引:象主索引一样要求字段值的唯一性并决定了处理记录的顺序。在数据库表和自由表中均可为 普通索引:也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。 唯一索引:为了保持同早期版本的兼容性,还可以建立一个唯一索引,以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序。,数据的导入和导出,VFP可以进行多种数据导入、数据导出,包括EXCEL数据表,也可以直接追加各种表的数据,第四章,VFP常用命令 VFP的常量 VFP的变量 VFP的函

28、数 表达式,打开库 OPEN DATABASE 打开表命令: USE 表文件名 关闭表命令:USE 、CLOSE ALL 输出命令: ?和? 列表和显示命令 List 分屏显示 Display 建表命令 CREAT 例如:CREAT TABLE 选课表(学号 C(8),课程号 C(4),成绩 N(3),VFP常用命令,添加数据 APPEND Use exam Append (追加数据总是在表的最后) 插入数据 INSERT Go 5 Insert 浏览数据 BROWSE 编辑修改数据 EDIT,替换命令: REPLACE 字段1 WITH 表达式1,字段2 WITH 表达式2 范围FOR Re

29、place all 营业区 with “奎屯市区” for 营业区=“市区” Replace 工资 with 工资+100 for 职称=“教授” 菜单操作见图,VFP的常量,1、常量:在程序运行过程中其值不变化的数据,具有字符型(C)、数值型(N)、日期型(D)、逻辑型(L)、日时型(D)和货币型(Y)六种数据类型。数值型常数:分为整数和实数,有两种表示形式:常用表示形式、指数表示形式。例如: 常用表示形式:1024,3.14,-0.25 指数表示形式:0.6E10表示0.6乘以10的6次方, 字符型常数:也称字符串,包括可打印的ASCII字符,汉字,符号。字符常量必须用界限符 、 、 把它

30、们括起来 123 01/03/45 流氓免 fox日期型常数:用于表示日期。是D、T型常量的界限符,或用CTOD()GO 表示:CTOD(“01/02/98”)1998/01/02 或用-连接1998-01-02逻辑型常数:用 .T.或 .t. 来表示真,用 .F.或 .f.来表示假。日期时间型常数:用于表示日期和时间。是D、T型常量的界限符,或用CTOD()来表示:CTOT(“01/02/98 12:00:11 AM”)1998/01/02 12:00:11 a 货币型常数:用于表示货币。,VFP的变量,变量:在程序运行过程中用于表示其值发生变化的数据,变量的方法:表示必须以汉字或字母开头且

31、仅由英文字母、汉字、数字和下划线组成。内存变量:是一些临时变量,它在内存中存贮数据,以便在需用时引用它的内容。当退出VFP或断电时数据将自动消失。内存变量可以有C、N、L、D、T、Y六种类型。它的具体类型与此时内存变量中的值的类型一致。内存变量长度 TO 例:STORE 0 TO X1,X2,Y1,Y2内存变量的显示例如我们在命令窗口中输入 B=4后:? B+2, B*5 结果在下一行显示 ? B/2 结果在当前行显示,字段变量:字段变量即每一个记录的某个属性字段名,它的值随着不同的记录而变化。 字段变量的值随着表文件的打开而开始,关闭表文件后,字段变量的值消失。字段变量名=10个字符,必须以

32、汉字或字母开头且仅由英文字母、汉字、数字和下划线组成。例如:在上表中,当前记录号为2时,字段变量“姓名”的值为“李四”,当我们把记录指针指向3时,字段变量“姓名”的值为“王五”内存变量与字段变量的区别:内存变量独立存在,字段变量隶属于数据库,不能独立存在;内存变量的类型和长度可随所赋值的不同而变化,字段变量的类型和长度在建库时已定义好,除非修改库结构,否则不能改变;内存变量为单值变量,字段变量为多值变量;,练习: 下面列出的数据哪些是变量,哪些是常量?是常量说出其数据类型。1 姓名 “讲师” ASCII 12.56 .Y. 12.56 .F. T A_12 CTOD(“05/06/98”),V

33、FP的表达式,表达式:通过运算符,操作符及括号把常量和变量、函数等连起来 1、数值表达 运算顺序()-、*-*、/、%-+、- ?(1/60-3/56)*18.4500 2、字符表达式 +和- A=“奎屯市 ” B=“电信局 ” ?A+B,A-B,3、日期时间表达式 +和- 日期+天数 日期-天数 日期-日期 日期时间+秒数 日期时间-秒数 日期时间-日期时间 ?DATE()-2000-01-01 ?year(date()-year(2000-01-01),4、关系表达式 : = ,#,!= 不等于 = = 精确等于 $ 子串包含,例子 Use exam ?“李”“王” ?“赵”$用户名 ?沈

34、$用户名 dele for 市$营业区 Locate for “市”$营业区 Locate for “123”$地址 cont,5、逻辑表达式 : 逻辑运算三个:与.and. 或.or. 非.not.或! 例:查询地址在123团使用小灵通的用户 LOCATE FOR 设备类型=小灵通 .AND. 地址=123团 统计地址在123团使用小灵通的用户 COUNT FOR 设备类型=小灵通 .AND. 地址=123团 TO X ?X 筛选出市区的固话用户 COPY TO 市区固话 FOR 设备类型=固话 .AND. 营业区=市区 思考:统计话费大于1000元的用户 1,VFP的函数,函数计算实际上是

35、对于指定的函数名和自变量(参数表)执行事先编好的程序。每个函数必然有一个具有确定数据类型的返回值(函数值);函数值可作为一个数据再和其他数据进行运算; 送给函数的自变量的数据类型必须与该函数要求自变量的数据类型一致;否则将出现语法错误。 大多数函数都要使用一个或多个参数,但有若干个函数是无参数的 函数名只写前四个字符即可。,数值处理函数 (1)平方根函数:SQRT(X) ?sqrt(81) (2)取整函数:INT(X) ?Int(3.14259)(3) 四舍五入函数:ROUND(X,I) X=345.234 ?round(345.345,2),round(x,0), round(x,-2) (

36、4) 取模函数:MOD(X,Y) 余数的正负号和除数相同,x,y同号,结果为其余数,否则为其余数在加除数的值。 ?mod(10,3), mod(-10,3), mod(10,-3), mod(-10,-3) 1 -2 2 -1 Mod()函数相当于求运算符% ?15%4,15%-4 3 -1,(5) 求最大值函数:MAX(X,Y) ?max(“康乐园60幢21”,“飞鸿里21幢24”) ?max(.t.,.f.) (6) 求最小值函数:MIN(X,Y) ?min(“飞机”,“大炮”,“汽车”) ?min(2006-01-02,2001-05-15) 谁大谁小,根据字符串的排列顺序,从菜单里的工

37、具选项数据-排列顺序中有三种顺序可选:拼音,机内码,笔划(见下图) (7)求和 SUM,求平均AVER 统计COUNT 例 SUM 月租费 TO S FOR 设备类型=小灵通 ?S,排序选择,字符处理函数 (1) 变大写函数:UPPER(S) (2) 变小写函数 :LOWER(S)?lower(Xly2A),upper(n=1) (3) 字符串长度函数 :LEN(S) ?LEN(n=5+1) (4)求子串位置函数 :AT(S1,S2)功能:给出S1在S2中的起始位置(数值)。说明:若S2不包含S1时,则函数返回0值。 ?AT(Xl,XXl=1) 练习 UPPE(AB3cd)LOWE(AB3cd

38、)LEN(A B新3cd)AT(A,RSDA.DBF),(5)取子串函数:SUBSTR(S,I,N)功能:取字符串S中第I个字符开始的N个字符。说明:N为可选项。若省略N,则一直取到末尾。 (6) 左取子串函数:LEFT(S,N)功能:取字符串S左边第一个字符起的N个字符。(7) 右取子串函数:RIGHT(S,N)功能:取字符串S右边的N个字符。(8)产生空格函数 SPACE:SPACE(N)功能:产生N个空格。 SUBS(ASDFGHJK,2,2) SUBSTR(“潘长江”,1,2) USE EXAM DELE FOR left(姓名,1,2)=“张” LEFT(COMP,3) RIGH(C

39、OMP,3),(9) 宏替换函数 &格式:&功能:将存贮在字符型内存变量中的字符串替换出现。即把该变量所代表的字符串去掉字符串定界符后重新放到该函数所在位置上.当宏替换之后还有内容时,用一个圆点表示内存变量名到此为止。若宏替换函数中字符型变量后跟有非空格字符时,则宏替换函数与其后字符必须用“.”间隔,以明确内存变量名结束。宏替换函数符号与内存变量名之间不能有空格 例:A=*?5&A.6作用: 1、可把数字字符组成的字符串转变为数值;C1=“34.98” INT(&C1)+ROUND(&C1,1) 2、用以替换命令中需要重复书写较长的部分。A=“LIST FOR 职称=”&A“高工”&A“工程师

40、”,日期和时间处理函数 (1)系统日期函数:DATE()系统时间函数:time() (2) 系统日时函数 :DATETIME()功能:返回当前的系统时间。(默认格式为MM/DD/YY HH:MM:SS AM|PM)没有自变量 ?date() ?datetime() (3) 求年份函数 :YEAR(X)功能:返回日期或日时X的4位数年份值。例:复制装机日期大于5年的用户 Copy to 5年户 for year(date()-year(装机参考日)=5,(4) 求月份函数 MONTH和CMONTH格式:MONTH(X)和CMONTH(X)功能:返回日期X的月份值。 (5) 求日期函数 :DAY(X)功能: 返回日期X的日子是几号 (6)求星期几函数DOW和CDOW格式:DOW(X)和CDOW(X)功能: 返回日期X是星期几.(7)系统时间函数 :TIME()功能:返回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论