ACCESS数据查询窗体设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复习:
1、窗体按其功能可以分为哪几种?
2、窗体常用的视图有哪三种?
3、窗体的组成?基本组成部分有哪三部分?默认是哪个部分。
4、在窗体中,对象的属性有哪几种?
5、控件可以分为哪几种?
6、窗体的数据源有哪几种?
新授课:
任务二数据查询窗体设计
任务描述:通过设计数据查询窗体,了解数据查询窗体的基本功能及结构;理解掌握主/子窗体的作用、设计数据查询窗体的基本步骤;学会设计数据查询窗体,并能够为用户简单查询交互界面。
一、设计数据查询窗体
例7-3:设计一个查询学生成绩窗体,实现按学号或姓名查询学生的学号、姓名、班级名称课程名称及成绩。窗体样张如下:
具体功能分析:运行查询窗体时,如果在主窗体对应文本框不输入学号和姓名时,子窗体中显示所有学生的信息;当只输入学号并单击搜索时,显示该学生的信息;当只输入姓名全名或部分并单击搜索时,子窗体显示满足条件的信息;当输入学号和姓名并单击搜索时,子窗体显示满足条件的信息;单击关闭按钮时,关闭该窗体。
操作步骤:
1、创建主窗体,保存为MAIN1。
在主窗体中添加两个文本框,文本框名称分别为xh1,xm1;使用标签在添加“查询学生成绩”标题文本;添加窗体标题“按学号或姓名查询学生成绩(学号)”;修改窗体的相关格式属性。
2、创建一个查询,保存为query1。查询代码如下:
SELECT stu.xh, stu.xm AS 姓名, stu.bjmc AS 班级名称,
kcb.kcmc AS 课程名称, cjb.cj AS 成绩
FROM stu INNER JOIN (kcb INNER JOIN cjb ON kcb.kch = cjb.kch)
ON stu.xh = cjb.xh
WHERE ((([forms]![main1].[xh1]) Is Null) AND (([forms]![main1].[xm1]) Is Null))
OR (((stu.xh)=[forms]![main1].[xh1]) AND (([forms]![main1].[xm1]) Is Null)) OR (((stu.xm) Like "*" & [forms]![main1].[xm1] & "*") AND (([forms]![main1].[xh1]) Is Null))
OR (((stu.xh)=[forms]![main1].[xh1]) AND ((stu.xm) Like "*" & [forms]![main1].[xm1] & "*"));
3、创建数据表窗体,保存为ZCT1。(修改数据表窗体的相关格式和数据属性)。
4、创建主子窗体,将数据表窗体(ZCT1)拖动到主窗体中,并为“子窗体/子报表”对象命名为ZCTDX。
5、向主窗体添加命令按钮,并保存窗体。
(1)搜索按钮:按钮名称为SS1,标题“搜索”,该按钮的单击事件代码为“ME!ZCTDX.REQUERY”。
(2)关闭按钮:按钮名称为GB1,标题“关闭”,该钮的单击事件代码为“DOCMD.CLOSE”。
提高篇设置:
(1)运行窗体设计设置主/子窗体的格式及数据属性。
(2)为接收数据的文本框设置获得焦点事件
Private Sub xh1_GotFocus()
xh1 = Null
End Sub
Private Sub xm1_GotFocus()
xm1 = Null
End Sub
二、数据查询窗体相关知识
1、主/子窗体
窗体中的基本窗体是主窗体,窗体中的窗体称为子窗体。主/子窗体用于同时显示两张表或多张表,它主要用来显示一对多的关系。一般来说,主窗体显示一对多关系中的一端表(主表)信息,通常使用纵栏式窗体;子窗体显示一对多关系的多端表(相关表)的信息,通常使用表格式窗体或数据工作表窗体。)
2、窗体中对象的引用方法
格式:FORMS!窗体名称.控件名或 FORMS!窗体名称!控件名
3、确定查询的条件(关键)
设计数据查询窗体时,条件的组数据是由接收条件的文件框个数决定的。如果有N个接收数据的文件框,则查询条件应有n2组。
4、在VBA窗口,设置对象的名称及代码。
练习:
1、设计一个查询窗体,实现按姓名或课程名称查询学生的学号、姓名、班级名称、课程名称及成绩,保存窗体为“按姓名和课程名称查询学生学生成绩”。
2、设计一个查询窗体,实现按班级或姓名查询学生的信息,保存窗体为“查询学生基本情况”。
小结:
1、确定查询条件数
2、窗体中对象的引用方法
3、数据查询窗体的操作步骤:
案例:按课程名称模糊查询学生的学号、姓名、课程名称及成绩。要求:不输入课程名称中,在子窗体中显示所有信息;当输入完整或部分课程名称时,单击“搜索”可以查出所有相关课程的学生成绩;单击“关闭”可以关闭该窗体。
1、创建主窗体,添加一个文本框,文本框名称为(kcmc99),保存主窗体名称为(FRM99)。
2、创建查询,保存为(Q99),查询代码如下:
Select stu99.xh AS 学号,stu99.xm as 姓名,kcb99.kcmc as 课程名称,cjb99.cj as 成绩
From (stu99 inner join cjb99 on stu99.xh=cjb99.xh) inner join kcb99 on cjb99.kch=kcb99.kch
Where FORMS!FRM99. kcmc99IS NULL
OR KCB99.KCMC LIKE “*” & FORMS!FRM99. kcmc99& “*”
3、以(Q99)为记录源,创建数据表窗体,保存为(SJBCT99)。
4、创建主子窗体,将数据表窗体(SJBCT99)拖动到主窗体的主体中,系统自动添加一个子窗体或子报表控件,给该对象的名称为(ZCTDX99)
5、在主窗体中,添加两个按钮,按钮标题文本分别为“搜索”和“关闭”,其中,搜索按钮的单击事件代码为(ME!ZCTDX99.REQUERY),关闭按钮的单击事件代码为(DOCMD.CLOSE)。
作业:
6、什么是主窗体、子窗体?主/子窗体有哪些作用?