Access数据库技术及应用第4章使用查询搜索信息
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
第4章 使用查询搜索信息
4.1.3 查询的类型
选择查询 参数查询 交叉表查询 操作查询 SQL查询
7
第4章 使用查询搜索信息
4.1.4 查询的视图模式
设计视图 数据表视图 SQL视图 数据透视表视图 数据透视图视图
8
第4章 使用查询搜索信息
4.2 使用向导创建查询
4.2.1 使用向导创建简单查询 【例4.2】 利用向导创建查询,要求输出学生
将x的值强制转换为Date类型
CDate("2012-1-1") 结 果 为 #20121-1#
30
第4章 使用查询搜索信息
4.4 使用设计视图创建查询
31
第4章 使用查询搜索信息
4.4.1 基本查询
基本查询是指从一个或多个表或查询中选择若 干字段进行显示的查询,是最简单的查询。
【例4.16】 创建一个如图4.36所示的学生班 级信息基本查询。
值为True,两个表达式中只要有一个值为True,
Or
或
(4> 5) Or(3 < 4) 结果就为True,只有两个表达式的值均为False,
结果才为False
21
第4章 使用查询搜索信息
常用的特殊运算符
运算符
功能说明
In
用于指定匹配列表,只要一个列表值与查询值一致,表达式返回为True
Between
DateDiff("d",#2013/1/1#,#2013/8/1#
)结果为212
返 回 包 含 指 定 的 年 、 月 、DateSerial(2013,1,2)结果为#2013-1-
日数字的日期。
2#
29
第4章 使用查询搜索信息
常用类型转换函数
函数名 Asc(x) Chr(x) Str(x)
功能
求x的绝对值
功能
取不大于x的最大整数
示例 Abs(-3.3) 结果为3.3
Int(3.6)结果为3 Int(-3.6)结果为-4
取x的整数部分
Fix(3.6)结果为3 Fix(-3.6)结果为-3
对x进行四舍五入,保留n位小数
Round(3.1415926,2)结果为3.14
判断x的符号,若x>0,返回值为1;若x<0,返回 Sgn(6) 结果为1
12
第4章 使用查询搜索信息
4.2.3 使用“查找不匹配项查询向 导”创建查询
【例4.6】 利用“查找不匹配项查询向导”, 将没有成绩信息的学生基本信息(“学号”、 “姓名”、“性别”、“班级名称”)显示出 来,保存名称为“查询向导—没有成绩的学 生”。
分析 步骤 小结
13
第4章 使用查询搜索信息
15
第4章 使用查询搜索信息
思考:要求统计每个班级的男生、女生人数。 班级名称在查询结果左侧,性别在查询结果上 部。查询结果如图4.34所示。
16
第4章 使用查询搜索信息
4.3 查询中的表达式
表达式指由运算符、操作数和函数构成的表示 各种运算关系的式子
常用表达式分为数学表达式、字符串表达式、 关系表达式、逻辑表达式。此分类的依据是表 达式中的运算符
返回两个指定日期之间 的 间 隔 数 , 参 数 S1 可 以 是 "yyyy" , "q" , "m" ,
/1#)结果为1
DateDiff("q",#2013/1/1#,#2013/8/1# )结果为2
"d"分别表示年数、季度 数、月数、天数。
DateDiff("m",#2013/1/1#,#2013/8/1# )结果为7
Month(#2012-1-21#)结果为数值1
返回日期中的一个月的某一 天
Day(#2012-1-21#)结果为数值21
返回时间中的钟点数
Hour(#13:01:01#)结果为数值13
DateAdd("yyyy",2,#2012-1-1#) 结 果 为
#2014-1-1#
返回添加指定时间间隔的日 DateAdd("q",2,#2012-1-1#)结果为#2012期,参数S1可以是"yyyy", 7-1# "q", "m" , "d"分别 表示 年 DateAdd("m",2,#2012-1-1#) 结 果 为 数、季度数、月数、天数。 #2012-3-1#
示例
将 字 符 转 换 为 相 应 的 ASCII 码值
Asc("A")结果为65
将 ASCII 码 值 转 换 为 相 应 的 字符
Chr(97)结果为"a"
将数值转换成对应的字符串 Str(123.45)结果为"123.45"
Val(x) CDate(x)
将字符串x转换成对应的数值 Val("-123.45")结果为-123.45
第4章 使用查询搜索信息
4.3.2 函数
Access提供了数百个标准函数 如聚合函数、数值函数、字符串函数、日期/时
间函数、类型转换函数等 用户也可以通过VBA建立用户自定义函数 函数的使用格式为:
函数名[(参数表)]
24
第4章 使用查询搜索信息
常用聚合函数
函数名
功能
Avg(字段名) 计算指定字段中的一组值的平均值
用于指定数值或字符范围,查询值在范围内,表达式返回为True
Is Null
如果字段值为Null(空值),表达式返回为True
Is Not Null 如果字段值不是Null(空值),表达式返回为True
22
第4章 使用查询搜索信息
“Like”运算符在表达式中可以使 用的通配符
统配符
含义
表达式实例
可匹配字符串
关系运算符
运算符 = <> > < >= <=
运算关系 等于 不等于 大于 小于
大于或等于 小于或等于
表达式实例 1=2
"1"<>"2" "a"> "b" "a"< "b" "ab">= "ac" "ab"<= "ac"
运算结果 False True False True False True
20
第4章 使用查询搜索信息
逻辑运算符
运算符 运算关系 表达式实例
运算结果
Not
非
Not(1 > 0)
值 为 False , 由真变 假 或 由 假 变 真 , 即 进 行 取 “反”操作
And
与
(4> 5) And(3 < 值为False,两个表达式的值均为True,结果才
4)
为True,否则为False
Access数据库技术及应用第4 章使用查询搜索信息
2
第4章 使用查询搜索信息
第4章 使用查询搜索信息
4.1 查询概述 4.2 使用向导创建查询 4.3 查询中的表达式 4.4 使用设计视图创建查询 4.5 创建操作查询 4.6 创建SQL查询
3
第4章 使用查询搜索信息
4.1 查询概述
Sum(字段名) 计算指定字段中的一组值的总和
Count(字段名) 计算指定字段中的一组值的个数,与字段记录的数值无关
Max(字段名) 计算指定字段中的一组值的最大值
Min(字段名) 计算指定字段中的一组值的最小值
25
第4章 使用查询搜索信息
常用的数值函数
函数名 Abs(x) Int(x)
Fix(x) Round(x,n) Sgn(x) Sqr(x) Exp(x) Log(x)
17
第4章 使用查询搜索信息
常用的算术运算符
运算符 + * / \ ^
Mod
-
运算关系 表达式实例
加法
4+3
减法
4-3
乘法
2*50
除法
11/2
整除
11\2
指数运算
5^2
取模运算(求 余)
18 Mod 5
取负
-a(设a=-8)
运算结果 7 1
100 5.5 5 25
3
8
18
第4章 使用查询搜索信息
*
可匹配任意多个字符
M*
Max,Money
?
可匹配任何单个字符
M?
Me,My
#
可匹配单个数字字符
123#
1234,1236
[charlist] 可匹配列表中的任何单个字符
[b-f]
b,c,d,e,f
[!charlist] 不允许匹配列表中的任何单个字符 [!b-f]
除b,c,d,e,f以外的字母
23
的“学号”、“姓名”、“性别”和“班级名 称”4个字段的信息。该查询以“查询向导— 学生班级信息”保存。 分析 步骤 小结
9
第4章 使用查询搜索信息
【例4.3】
利用向导创建查询,要求输出学生的“学号”、 “姓名”、“班级名称”、“课程名称”和 “成绩”5个字段的信息。该查询以“查询向 导—学生成绩信息”保存。
思考:创建查询,将没有成绩信息的课程基本 信息显示出来,包括“课程号”、“课程名” 和“学分”。查询运行结果如图4.27所示。
14
第4章 使用查询搜索信息
4.2.4 使用“交叉表查询向导”创建查询
【例4.7】 利用“交叉表查询向导”创建交叉表查询, 结果要求显示学生的“姓名”位于结果的左侧,“课程 名称”位于结果的顶部,在行与列的交叉点放置该学生 的该门课程的成绩。查询名称为“查询向导—学生成绩 信息_交叉表”。查询运行结果如图4.28所示。
分析 步骤 小结
10
第4章 使用查询搜索信息
【例4.4】
利用向导创建查询,要求输出学生的“学号”、 “姓名”、“班级名称”、“平均成绩”和 “总成绩”5个字段的信息。该查询以“查询 向导—学生成绩统计”保存。
分析 步骤 小结
11
第4章 使用查询搜索信息
4.2.2 使用“查找重复项查询向导” 创建查询
Left(s, n)
截取字符串s左端的n个字符,生成子串
Right(s, n)
截取字符串s右端的n个字符,生成子串
Mid(s, m, n) 从字符串s的第m个字符位置开始,取出n个字符
LTrim(s)
删除字符串s左端的空格
RTrim(s)
删除字符串s右端的空格
Trim(s)
删除字符串s两端的空格
示例 Len("人数1234")结果为6 Left("ABC123",4) 结果为"ABC1" Right("ABC123",4) 结果为"C123" Mid("ABC123",2,3) 结果为"BC1" LTrim(" ABC")结果为"ABC" RTrim("ABC ")结果为"ABC" Trim(" 123 ")结果为"123"
连接运算符
用于将两个文本型数据进行连接,形成一个新 的字符串。
“&”和“+”。
“&”运算符用来强制两个表达式作字符串连接。 最常用的是“&”运算符。
例如:要将“学生”表的“班级”字段和“姓 名”字段合成一个字段,将两个文本型字段连 接即可,表达式可以写为[bjmc] & [xm]。
19
第4章 使用查询搜索信息
27
第4章 使用查询搜索信息
常用的日期/时间函数
函数名 Date() Time() Year(D) Month(D) Day(D) Hour(D)
DateAdd(S1,x, D)
功能
示例
返回当前系统日期
返回当前系统时间
返回日期中的年份数
Year(#2012-1-21#)结果为数值2012
返回日期中的月份数
值为-1;若x=0,返回值为0
Sgn(-6) 结果为-1
求x的平方根 求以e为底的指数(ex) 求x的自然对数(Ln x)
Sqr(25)结果为5 Exp(1) 结果为2.718 Log(10) 结果为2.303
26
第4章 使用查询搜索信息
常用的字符串函数
函数名
功能
Len(s)
求字符串s的长度(字符数)
18关系运算符运算符运算关系表达式实例运算结果大于或等于abacfalse小于或等于abactrue第4章使用查询搜索信息19逻辑运算符运算符运算关系表达式实例运算结果值为false两个表达式的值均为true结果才为true否则为false值为true两个表达式中只要有一个值为true结果就为true只有两个表达式的值均为false结果才为false第4章使用查询搜索信息20常用的特殊运算符运算符功能说明用于指定匹配列表只要一个列表值与查询值一致表达式返回为truebetween用于指定数值或字符范围查询值在范围内表达式返回为truenull如果字段值为null空值表达式返回为truenull如果字段值不是null空值表达式返回为true第4章使用查询搜索信息21like运算符在表达式中可以使用的通配符统配符含义表达式实例可匹配字符串可匹配单个数字字符12312341236charlist可匹配列表中的任何单个字符bf
查询是向数据库提出询问,数据库按指定要求 从数据源提取并返回一个数据集合
查询是Access数据库的对象之一,其数据源可 以是一张表,也可以是多个关联的表
查询的结果可以供用户查看,也可作为创建其 他查询、窗体、报表的数据源
4Leabharlann 第4章 使用查询搜索信息4.1.1 一个查询的例子
【例4.1】 查询工设专业所有团员的学生信息。
DateAdd("d",2,#2012-1-1#)结果为#2012-
1-3#
28
第4章 使用查询搜索信息
常用的日期/时间函数(续)
函数名
功能
示例
DateDiff(S1,D1,D2)
Dateserial(year,month,d ay)
DateDiff("yyyy",#2012/7/1#,#2013/8
【例4.5】 利用向导创建查询,要求输出学生的 “学号”、“姓名”、“性别”和“班级名称”4 个字段的信息,要求将性别一致的信息放在一起。 该查询以“查询向导—学生性别信息”保存。
分析 步骤 小结
思考:要求查询学生的“学号”、“姓名”、“班 级名称”、“课程名称”和“成绩”信息,“课程 名称”一致的显示在一起。
5
第4章 使用查询搜索信息
4.1.2 查询的主要功能
选择若干字段进行显示 排序记录 选择满足条件的记录进行显示 对数据进行统计与计算
如统计学生的平均成绩、不同性别员工的人数等 也可以建立计算字段,如“学生”表中有学生的出生
日期,可以在查询中建立“年龄”计算字段
对源数据进行修改 建立新表 为其他数据库对象提供数据源