在ACCESS数据库“教学管理.accdb”中有一“教师”表,如下图。
1、创建“输入起止工作时间-教师参数查询”。通过用户输入起止工作时间,来查询在该时间段内参加工作的相关教师。结果显示全部字段、要求提示分别为:“请输入起始时间:”、“请输入终止时间:”。
2、创建“教师教龄大于某输入值-参数查询”。以教师表为数据源,通过用户输入一整数设定教龄下限,显示教龄大于该值的相关教师全部字段。要求创建“教龄”计算字段,参数提示为“请输入教龄下限:”。
知识要点:1、什么是参数查询
2、如何设计参数查询
3、计算字段
知识点说明:
参数查询(动态查询)利用对话框,提示用户输入参数,并检索符合输入参数的记录或值。在一个查询中可设置一个或多个参数。
1、参数查询设计要点:
在设计网格中的准则行,在[]内添加提示语即可。例如:要求输入起始时间,可在设计网格任何位置中输入[请输入起始时间:]。
2、计算字段设计要点:
所谓计算字段,实质上就是在设计网格的字段行中,输入表达式,系统根据该表达式计算出一系列值,作为查询结果中的一列。一般计算字段要与字段重命名相结合,将计算的列赋予一个指定标题。例如:上面2要求创建“教龄”计算字段,可在设计网格的字段行中输入
教龄:year(date())-year([工作时间])
3、为什么将提示语放在[]中,就会出现参数输入提示呢?
在表达式学习中我们知道,包含在[]中的一般是用户在ACCESS数据库中定义的对象名,例如:表、窗体、报表、表的字段、控件名等等。系统会在当前数据库中查找[]中的对象,并读取。但是如果当前数据库中没有定义[]内部出现的对象名(例如我们这里临时添加的提示语言),系统先查找该对象,在没有的情况下,便弹出参数输入窗口,要求用户输入参数。所以,在ACCESS的设计过程中,可以在任何对象中出现参数输入要求,只要把事先未定义的字符串放在[]中即可。
在本节的两个示例中,我们都将首先分析设计方法,在给出查询示例来进行讲解。希望同学们自己先分析设计,独立思考一下。
1、创建“输入起止工作时间-教师参数查询”。
通过用户输入起止工作时间,来查询在该时间段内参加工作的相关教师。结果显示全部字段、要求提示分别为:“请输入起始时间:”、“请输入终止时间:”。(演示参数查询设计过程)
查询设计分析:
(1)数据源为“教师”表。
(2)用于进行选择的条件有一个:工作时间在某一起止时间内。
(3)要显示的字段为数据表中所有字段。
(4)通过题意,没有统计相关计算,所以不需要分组;也没要求排序
在设计视图设计(如下图):
(1)在数据源区添加“教师”表
(2)将表中所有字段都添加的“字段”行,这里我们采用*号来表示所有字段。参看“简单查询设计”图解。
(3)在参与条件的字段(工作时间)的“条件”行输入条件表达式。
由于本例要求起始时间是用参数来完成,故在下图中采用:between [请输入起始时间:] and [请输入终止时间:]。
保存查询,点击“数据视图”,依次弹出如下输入参数界面。