后半部分:表单设计与应用

上传人:tian****1990 文档编号:75789717 上传时间:2019-02-01 格式:PPT 页数:56 大小:599KB
返回 下载 相关 举报
后半部分:表单设计与应用_第1页
第1页 / 共56页
后半部分:表单设计与应用_第2页
第2页 / 共56页
后半部分:表单设计与应用_第3页
第3页 / 共56页
后半部分:表单设计与应用_第4页
第4页 / 共56页
后半部分:表单设计与应用_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《后半部分:表单设计与应用》由会员分享,可在线阅读,更多相关《后半部分:表单设计与应用(56页珍藏版)》请在金锄头文库上搜索。

1、Visual FoxPro 6.0,教师:聂永红 日期:,数据库与程序设计,2019年2月1日星期五,第8章 表单设计与应用,8.1 创建表单,表单(FORM)是VFP应用程序的用户界面,各种对话框和窗口都是表单不同的外观表现形式。 在表单上拥有各种控件对象,可以响应用户或系统事件,使用户尽可能方便而直观地完成信息管理工作。 在VFP中可以利用表单设计器或表单向导可视化地创建表单文件,并通过运行表单文件来生成表单对象。,表单文件的后缀为:.SCX,8.1.1 使用表单向导创建表单,使用向导创建表单时,用户只要按照向导提供的操作步骤和屏幕提示一步一步地进行就能完成。 在项目管理器中选择“表单”项

2、,单击“新建”按钮,出现“新建表单”对话框,再单击“表单向导”按钮,可打开“向导选取”对话框。,8.1.1 使用表单向导创建表单,1. 表单向导 用于创建基于一个表或视图的简单表单。 2. 一对多表单向导 用于创建基于两个具有一对多关系的表的表单。字段既要从主(父)表中选取,也要从子表中选取,还要建立两表之间的联接关系。一对多表单一般使用文本框来表达父表,使用表格来表达子表。,8.1.1 使用表单向导创建表单,8.1.1 使用表单向导创建表单,例1:利用表单向导创建一个显示学生基本情况的表单。,演示,8.1.1 使用表单向导创建表单,例2:假设已有一个“可更新成绩”的视图(从课程、成绩,学生三

3、表中建立,条件是计算机的学生,有学号、课程号,姓名,成绩四个字段,若无此视图则可建立) 使用教学管理数据库中的“课程”和“可更新成绩”视图,利用表单向导创建一个一对多的表单。,演示,一对多表单向导 用于创建基于两个具有一对多关系的表的表单。字段既要从主(父)表中选取,也要从子表中选取,还要建立两表之间的联接关系。一对多表单一般使用文本框来表达父表,使用表格来表达子表。,8.1.2 使用表单设计器创建表单,1启动表单设计器(已讲) (1)项目管理器:选择“表单”项,单击“新建”按钮,在“新建表单”对话框中,选择“新建表单”。 (2)菜单:选择“文件|新建”命令,在“新建”对话框中选择“表单”文件

4、类型,然后单击“新建文件”按钮。 (3)命令:CREATE FORM,演示,8.1.2 使用表单设计器创建表单,表单设计器窗口,8.1.2 使用表单设计器创建表单,2快速创建表单 启动表单设计器后,选择“表单|快速表单”命令,可打开表单生成器窗口制作表单。,8.1.2 使用表单设计器创建表单,演示,8.1.3 表单的保存与运行(已讲),1. 保存表单文件 选择“文件|保存” 命令。 2. 运行表单 运行表单文件生成表单对象。 (1)项目管理器:选择要运行的表单,单击“运行”按钮。 (2)在表单设计器环境下,选择“表单|执行表单”命令。 (3)选择“程序|运行”命令。 (4)命令:DO FORM

5、 WITH 3修改表单 打开表单设计器修改表单。 (1)项目管理器:选定要修改的表单,单击“修改”按钮。 (2)命令: MODIFY FORM ,演示,8.2 表单设计器(已讲),表单设计器是VFP 系统提供给用户的一个创建和修改表单的可视化工具,使用户不仅可以以交互方式对表单本身的一些外观属性进行设置,而且还可以添加表单控件、管理表单控件以及设置表单数据环境等。,8.3 表单的数据环境,每一个表单或表单集中都有一个数据环境,在表单的设计、运行中需要使用数据环境。 通过把与表单相关的表或视图放进表单的数据环境中,可以将表单、控件与表或视图中的字段关联在一起,形成一个完整的结构体系。,8.3.1

6、 数据环境设计器,数据环境是一个对象,它包含与表单相互作用的表或视图以及表之间的关系。数据环境中的表视图会随着表单的打开或运行而打开,并随着表单的关闭或释放而关闭。 利用“数据环境设计器”可以设计表单的数据环境。,8.3.1 数据环境设计器,打开数据环境设计器的方法有: (1)在表单设计器环境下,选择“显示|数据环境”命令。 (2)单击“表单设计器”工具栏中的“数据环境”按钮。 (3)右击表单,从快捷菜单中选择“数据环境”选项。,演示,8.3.2 数据信息与数据环境,1添加表或视图 右击“数据环境设计器”窗口,从快捷菜单中选择“添加”命令,打开“添加表或视图”对话框。,添加到数据环境设计器中的

7、表,8.3.2 数据信息与数据环境,2从数据环境中向表单添加字段 可以直接将字段、表或视图从数据环境设计器中拖动到表单,拖动成功时系统会创建相应的控件,并自动与字段相联系。,1添加表或视图 右击“数据环境设计器”窗口,从快捷菜单中选择“添加”命令,打开“添加表或视图”对话框。,演示,8.3.2 数据信息与数据环境,3从数据环境中移去表 在“数据环境设计器”中右击要移去的表或视图,然后从快捷菜单中选择“移去”命令,则该表或视图及与其有关的所有关系都随之移去。,演示,8.3.2 数据信息与数据环境,4在数据环境中设置关系 若添加到数据环境设计器的表已设置永久关系,则这些关系将自动地加到数据环境中。

8、否则,可以在数据环境设计器中设置这些关系,并与表单一起保存。 在数据环境设计器中设置关系的方法是:将字段从主表拖动到相关表中与之相匹配的索引标识上,在表之间会显示一条连线指出这条关系。如果没有索引标识,系统会提示用户是否创建索引标识。,8.3.2 数据信息与数据环境,5在数据环境中编辑关系 关系是数据环境中的对象,有自己的属性、事件和方法。编辑关系主要就是设置关系的属性。 方法是:在“属性”窗口的“对象”框中选择要编辑的关系,然后根据需要设置其属性,常用的关系属性如表8.3所示。P216,8.3.2 数据信息与数据环境,6. 数据与控件的绑定 表单中的控件可以分为两类: (1)不与数据绑定的控

9、件(讲) (2)与表中数据绑定的控件(自学或略讲) 当使用绑定型控件时,输入或选择的值将保存在数据源中(数据源可以是表的字段、临时表的字段或变量)。 表8.4 与数据源有关的属性 P216,例1:在“教学”项目中设计一个名为tj的表单,表单界面如图所示。要求: 1、将数据环境设置为:st.dbf; 2、表单的标题设置为:查找与统计; 3、表单中有两个命令按钮,标题分别为“查找与统计”和“退出” 4、表单程序运行时,输入性别(男或女),单击“查找与统计”按钮,可统计出该性别的人数和入学平均成绩。,set talk off xb=alltrim(thisform.text1.value) loca

10、 for 性别=xb if not eof() count to rs for 性别=xb average to pj for 性别=xb thisform.label2.caption=“该性别有:“+str(rs,3)+“人“ thisform.label3.caption=“该性别的平均入学成绩为:“+str(pj,6,2) else thisform.label2.caption=“ thisform.label3.caption=“查无此性别“ endif,“退出”按钮,代码为: thisform.release,“查找与统计”按钮,方法一,代码如下:,“查找与统计”按钮,方法二,代

11、码如下:,*set talk off xb=alltrim(thisform.text1.value) count to rs for 性别=xb average to pj for 性别=xb if rs 0 thisform.label2.caption=“该性别有:“+str(rs,3)+“人“ thisform.label3.caption=“该性别的平均入学成绩为:“+str(pj,6,2) else thisform.label2.caption=“ thisform.label3.caption=“查无此性别“ Endif set talk on,“退出”按钮,代码为: this

12、form.release,例2:在上例中,如果改为查找某年级(学号的前2位)的同学,如何进行呢?(tj11.scx),例3:在例1中,如果查不到时,弹出对话框“查无此性别”,如何进行呢? (tj12.scx),例3:在例1中,如果查不到时,弹出对话框“查无此性别”,如何进行呢? (tj12.scx),set talk off &方法一 xb=alltrim(thisform.text1.value) loca for 性别=xb if not eof() count to rs for 性别=xb average to pj for 性别=xb thisform.label2.caption=

13、“该性别有:“+str(rs,3)+“人“ thisform.label3.caption=“该性别的平均入学成绩为:“+str(pj,6,2) else thisform.label3.caption=“ thisform.label2.caption=“ messagebox(“查无此性别“,16,“错误查找“) thisform.TEXT1.VALUE=“ THISFORM.TEXT1.SETFOCUS endif set talk on,例3:在例1中,如果查不到时,弹出对话框“查无此性别”,如何进行呢? (tj12.scx),set talk off &方法二 xb=alltrim(

14、thisform.text1.value) rs=0 s=0 scan for 性别=xb rs=rs+1 s=s+入学成绩 endscan if rs0 thisform.label2.caption=“该性别有:“+str(rs,3)+“人“ thisform.label3.caption=“该性别的平均入学成绩为:“+str(s/rs,6,2) else thisform.label3.caption=“ thisform.label2.caption=“ messagebox(“查无此性别“,16,“错误查找“) thisform.TEXT1.VALUE=“ THISFORM.TEXT

15、1.SETFOCUS endif set talk on,例3:在例1中,如果查不到时,弹出对话框“查无此性别”,如何进行呢? (tj12.scx),set talk off &方法三 xb=alltrim(thisform.text1.value) count to rs for 性别=xb average to pj for 性别=xb if rs0 thisform.label2.caption=“该性别有:“+str(rs,3)+“人“ thisform.label3.caption=“该性别的平均入学成绩为:“+str(pj,6,2) else thisform.label3.cap

16、tion=“ thisform.label2.caption=“ messagebox(“查无此性别“,16,“错误查找“) thisform.TEXT1.VALUE=“ THISFORM.TEXT1.SETFOCUS endif set talk on,例3:在例1中,如果查不到时,弹出对话框“查无此性别”,如何进行呢? (tj12.scx),set talk off &方法四 xb=alltrim(thisform.text1.value) STORE 0 TO N,S loca for 性别=xb if found() DO WHILE !EOF() S=S+入学成绩 N=N+1 CONTINUE ENDDO thisform.label2.caption=“该性别有:“+str(N,3)+“人“ thisform.label3.caption=“该性别的平均入学成绩为:“+str(S/N,6,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号