Access数据库基础知识.pptx
每一个Access数据库,包括它所有的对象都存储在以.mdb为扩展名的数据库文件中。打开一个数据库就是打开一个数据库文件。就Access而言,可以认为数据库和数据库文件含义相同。Access数据库不但包括各种对象,还包括对各种对象的操作。第1页/共75页2.2 Access 2.2 Access 的特点的特点1.一个文件管理整个系统2.真正的关系数据库管理3.典型的开放式数据库管理 4.完善的帮助功能5.利用Excel整理数据 6.拥有大量的内置函数 7.提供了许多宏 8.方便的网络功能第2页/共75页2.3 Access 2003 2.3 Access 2003 的新增功能的新增功能1.查看对象相关性的信息 2.窗体和报表间的错误检查3.传播字段属性 4.智能标记 5.备份数据库或项目 6.Windows XP主题支持7.控件增强的排序功能8.自动更正功能9.SQL视图中的增强字体功能10.导入、导出和链接第3页/共75页2.4 Access 2.4 Access 的基本操作的基本操作2.4.1 Access 的启动和退出启动Access和启动Word的方法一样,有3种:(1)双击桌面上的Access图标。(2)单击任务栏上的“开始”按钮,在弹出的菜单中选“程序”项,在弹出的级联菜单中单击“Microsoft Access”。(3)双击Access数据库文件(建议尽量不用此法)。用前两种方法启动Access 2003就打开了 Access主窗口(下页)。该窗口的右侧是任务窗格的“新建文件”模式。第4页/共75页第5页/共75页用第3种方法启动Access后就立即打开了该数据库文件,并打开该数据库的“数据库”窗口(下图中的内窗口)。第6页/共75页Access主窗口和“Word”窗口很相似,有标题栏、菜单栏、工具栏、工作区和状态栏。Access工作界面的工作区内可以显示包括“数据库”窗口在内的各种子窗口。菜单栏下面是“数据库”工具栏。“数据库”窗口中工具栏的按钮自左至右分别是:打开、设计、新建、删除、大图标、小图标、列表、详细信息。前4个按钮用来打开、设计、新建或删除数据库的对象,后4个按钮用来选择对象的显示方式。退出Access和退出Word的方法完全相同。第7页/共75页2.4.2 2.4.2 使用联机帮助使用联机帮助Access2002有四种获取帮助的方法。一、使用Office助手打开Office助手气球和助手图标有两种方法:(1)单击工具栏上的“Microsoft Access帮助”按钮;(2)选“帮助”菜单项,在其下拉式菜单中单击“Microsoft Access帮助(H)F1”项。右图的助手气球中间的对话框让用户输入问题,下部有“选项”和“搜索”两个按钮。第8页/共75页在助手气球中输入想问的问题后单击“搜索”按钮(或按Enter键),则助手气球中就出现关于该问题的几个搜索主题和“请看下一页”按钮(下图)。第9页/共75页助手图标和助手气球可分别隐藏(关闭)。单击上页图中的某搜索主题(或前面的指示灯),就打开了显示该主题的“Microsoft Access帮助”窗口。单击“选项”按钮就进入了下页图所示的“Office助手”对话框。若选中“选项”选项卡就可以进行有关功能的设置。若选中“助手之家”选项卡则可以选择Office助手形象。第10页/共75页第11页/共75页二、使用Microsoft Access帮助上页图中的“响应F1键”选项的含义是:若选中该项,按F1就打开2.4.2图所示的助手气球;若取消该选项,按F1就打开下页图所示的“Microsoft Access帮助”窗口;该窗口有“目录”、“应答向导”和“索引”3个选项卡。如果在窗体或报表的“设计”视图选中具体控件后按F1,则显示这类控件的说明。第12页/共75页“Microsoft Access帮助”窗口的左窗格显示目录、提问框或关键字(分别对应三个选项卡),右窗格显示与左窗格选中项相应的说明内容。本页图中左窗格选中的是“关于设计数据库”,右侧就是其说明内容。第13页/共75页三、使用“键入需要帮助的问题”这是Access 2003的新增功能。在Access主窗口的菜单栏右边有“键入需要帮助的问题”框。在这个框中输入主题词就可以得到帮助。如果输入:数据库,然后按Enter键就出现关于数据库的主题列表(右下图)。这个主题列表中列出了和数据库有关的问题,单击其中的“关于设计数据库”,就打开了上页图所示的“Microsoft Access帮助”窗口。第14页/共75页四、使用“这是什么?”在“帮助”中单击“这是什么?”,鼠标变成箭头和问号组合的形状,然后将鼠标移到需要解释的主题处单击,就会显示关于该主题的说明。下图就是在“数据库”窗口使用“这是什么?”后单击“窗体”显示的该主题的说明。第15页/共75页2.5 Access 2.5 Access 数据库设计数据库设计表的设计是数据库管理系统最基础、最重要的工作。表设计的好坏对数据库管理系统的功能有决定性的影响。数据库中表的设计主要考虑这两个方面:一是整个管理系统的所有表中的数据要共享性高、冗余度小、占用尽可能小的存储空间;二是能方便维护表中的数据和快速地从表中获取数据。2.5.1 数据库中表的设计方法第16页/共75页描述被参照关系和参照关系的表分别称为主表和子表。主码和外码在Access数据库中称为主键和外键。本书将仅含主键、不含外键的表称为基础表(包括主要用于编码的代码表),将含外键的表称为基本表,将由基础表和基本表生成的表称为生成表。基础表和基本表是数据库设计的重要内容,它们的数据可以直接维护。生成表不是数据库直接设计的表,它的数据由查询生成,不应直接维护。第17页/共75页Access数据库表的设计方法如下:1进行系统分析。2提炼出将要作为数据库中表的字段。确定字段的原则是:表中的字段(即属性,将在2.6.1节介绍)应该是该管理事务所必须的、独立的字段。所谓独立包括两方面含义:(1)该字段是不能再分割的;(2)该字段不依赖于其它的字段。3根据数据库管理的要求增加必要的字段。尤其是对有限数据集合的字段应该增加编码字段。第18页/共75页4设计数据库所必须的表。设计表的基本原则:(1)凡是有限数据集合应单独设计一个表(基础表);(2)除作为表间联系的主键和外键,不同的表中不能包含重复的字段;(3)表中的字段必须是直接取决于该表描述的实体;(4)定义表的主键,原则上每一个表都应定义主键。5确定表间关系。只有确定了表间关系才算是完成了表的设计。通常都是在系统分析的基础上对表进行初步设计,以后还需要经过几次循环,反复修改才能得到理想的设计。还要考虑的一个问题是系统的可扩充性。第19页/共75页2.5.22.5.2 学生管理数据库表的设计学生管理数据库表的设计本书所用的“学生管理”数据库的功能应包括以下几个方面(学期成绩=平时成绩0.3考试成绩0.7):()学生选修课程和考试成绩维护(包括输入、修改和删除)。()按学号查询学生选修的课程和考试成绩。()按课程查询选修的人数。()按班级或个人或课程对成绩进行排序、筛选、统计和查询。()按班级打印学生考试成绩表。()按个人打印成绩通知单。第20页/共75页其它需求有:()对学生的基本情况进行查询,包括学生的学号、姓名、性别、出生年月日、身高、所在班级、家庭所在地、家庭人均月收入等。()对班级人数进行统计、查询。()打印班级学生名单。根据管理的实际需要还应该补充以下功能:学生、课程和学生选课及成绩等基本信息的输入、修改、删除和查询。第21页/共75页根据问题的需求,如下字段是必需的:学号、姓名、性别、出生年月日、所在班级、家庭所在地、家庭人均月收入、课程名称、平时成绩和考试成绩等字段。但班级人数、课程选修人数、学期成绩等统计数据不能作为字段。如果只用一个表把上述所有字段都包括进去在理论上是可以的,但是这样处理会引起许多问题。因为每个学生都可以选修多门课程、每门课程也都可以有多人选修。仅用一个表势必要将每个学生的学号、姓名、性别、出生年月日、所在班级、课程名称等内容多次重复输入,既费时费力、占据大量的存储空间,又可能引起输入数据的不一致。第22页/共75页根据以上分析,可考虑用两个表:将不涉及选课的个人信息和仅与选课有关的信息分别设计成“学生情况”和“选课及成绩”两个表:学生情况,含学号、所在班级、姓名、性别、出生年月日、身高、家庭所在地、家庭人均月收入、是否团员等9个字段;选课及成绩,含学号、姓名、课程名称、平时成绩和考试成绩等5个字段。这两个表通过学号建立联系。这个方案存在的问题。第23页/共75页设计成个表(花括号中是各字段的数据类型和长度(将在2.7.1节介绍),下同)的方案:班级简况,含班级代号文本,5、班级名称文本,8两个字段。学生情况,含学号文本,7、班级代号文本,5、姓名文本,6、性别文本,1、出生年月日日期/时间、身高(cm)数字,字节、是否住宿文本,1、家庭所在地文本,4、家庭人均月收入货币、是否团员是/否等9个字段。课程档案,含课程号文本,4、课程名称文本,16、总学时数字,字节3个字段。第24页/共75页选课及成绩,含学号文本,7、课程号文本,4、平时成绩数字,字节、考试成绩数字,字节、考试日期日期4个字段。下图是在Access数据库中对这个表间关系的表达。其中两个表间关系连线两端的“1”和“”表示实施了参照完整性。第25页/共75页2.5.3 2.5.3 教工教工管理数据库表的设计管理数据库表的设计本书所用的“教工管理”数据库的功能应包括这几个方面:(1)教师任课情况和教学效果维护(包括输入、修改和删除)。(2)按教工编号查询教师所任的课程和教学效果。(3)按课程查询任课教师。(4)按技术职称或文化程度对教工进行排序、筛选、统计和查询。(5)按姓名打印教师任课情况表。(6)按部门打印教工个人情况表。第26页/共75页其它需求有:(1)对教工的基本情况进行查询,包括教工的教工编号、姓名、性别、出生年月日、技术职称、文化程度、月工资、家庭电话等。(2)对部门人数进行统计、查询。(3)打印部门教工名单。根据管理的实际需要还应该补充以下功能:教工、课程和任课情况等基本信息的输入、修改、查询和删除。第27页/共75页经过和学生管理数据库表的设计类似的分析、设计过程,可以得到包括以下7个表的一种设计方案。部门简况,含部门代号文本,3、部门名称文本,6、办公地点文本,63个字段。文化程度编码,含文化程度编码文本,2、文化程度文本,6两个字段。技术职称编码,含技术职称编码文本,2、技术职称文本,6两个字段。教学效果编码,含教学效果编码文本,1、教学效果文本,2两个字段。第28页/共75页教工情况,含教工编号文本,5、部门代号文本,3、姓名文本,6、性别文本,1、出生年月日日期/时间、技术职称编码文本,2、文化程度编码文本,2、婚姻状况文本,2、基本工资货币、奖金货币、家庭电话文本,12等10个字段。课程档案,含课程号文本,4、课程名称文本,10、总学时数字,字节3个字段。任课情况,含职工编号文本,7、课程号文本,4、教学效果编码文本,13个字段。第29页/共75页下图是Access数据库对这些表间关系的表达。第30页/共75页【说明】(1)对于同一个实际问题可以有不同的设计方案。但是,必须依据第1章介绍的数据库的基本原理进行分析,按规范化的要求设计表。(2)对班级名称、部门名称、课程名称,以至于技术职称、文化程度、教学效果等有限数据集合字段进行编码是提高数据的共享性、减小它的冗余度的有效措施。第31页/共75页2.2.数据库对象数据库对象Access 数据库是数据和对象组成的集合。Access数据库对象包括表、查询、窗体、报表、页、宏和模块等。用Access新建或打开一个数据库会同时打开一个数据库窗口(下页图)。“数据库”窗口显示已打开的数据库包含的所有对象,并提供对这些数据库对象进行操作的方法。Access“数据库”窗口左侧是“对象”框,右侧是一个列表框。当在对象框选定某对象类型时,右侧列表框显示和左侧选定对象类别相应的创建该类对象的快捷方式和已建好的具体对象。第32页/共75页第33页/共75页2.6.1 2.6.1 表表表即数据表,是Access数据库中唯一存储数据的对象,当然就是数据库最基本、最重要的对象。表的每一列表示同种类型的数据,称为一个属性或字段,字段名显示在表的顶端(第一行)。表的每一行(第一行除外)称为该表的一个记录。表由多个记录组成。也存在没有记录的空表。第34页/共75页2.6.2 2.6.2 查询查询任何一个数据库仅有表是远远不够的。人们往往需要或是在一个表中查找部分字段的内容,或是从多个表中查找某些字段的内容,而且可能带有各种特定的要求。检索数据就是在适当的范围内、按某些条件、以某种方式在一个或多个表中查找有关记录的指定字段(或字段的函数)。查询是检索数据(即实现上述查找)的工具,是Access数据库很重要的对象。查询还可以在表中插入、删除和修改数据,也可以生成新表。第35页/共75页在“数据库”窗口打开“学生管理”数据库,单击“对象”框中的“查询”,再双击列表框中的“江苏的学生”(一个查询),系统会弹出如右图所示的结果。该查询的结果相当于一张表,它包括学号、姓名、家庭所在地3个字段,含有9个记录。但这些内容实际上是存在“学生情况”表中的,执行查询仅是“看到”而已。第36页/共75页因为一般的查询和表一样有字段、记录等概念,更重要的是查询和表有着几乎同样的功能,因而在许多场合把查询和表同等看待。在同一个数据库中查询和表不能同名。本书用数据源(或记录源)泛指表或查询。查询既可以建立在表上,也可以建立在其它查询上。查询的功能很强大,也非常灵活,其在数据库中的地位甚至超过表。一个数据库管理系统中查询的功能强弱直接影响该系统的性能。第37页/共75页2.6.3 2.6.3 窗体窗体窗体是用户与数据库之间进行交互的对象。在一个完善的数据库管理系统中,用户都是通过窗体对数据进行各种操作,而不是直接对表、查询进行操作的。通过窗体还可以控制应用程序的运行过程,因而窗体是Access最灵活的对象。窗体中的各种按钮、列表框、菜单等称为控件。在窗体中适当安排一些控件可以增强和完善窗体的功能。大多数窗体都与数据源绑定,这些窗体中的大部分内容来自它的基表。第38页/共75页在“数据库”窗口打开“学生管理”数据库,单击“对象”框中的“窗体”,再双击列表框中的“向导创建学生情况纵栏式”(一个窗体),系统会出现如下图所示的结果。第39页/共75页下图是“罗斯文”数据库中的“雇员”窗体。第40页/共75页2.6.4 2.6.4 报表报表一个好的数据库系统往往需要以一定的格式将数据打印输出,报表正是实现这种功能的有力工具。打印输出的报表易于阅读和保存,同时也具有分析、汇总的功能。报表还可以在包括Internet在内的互连网上发布。报表只用于输出数据,不能对数据做任何修改,这是和窗体的本质区别。第41页/共75页下图是“学生管理”数据库中的一个报表。第42页/共75页2.6.5 2.6.5 宏宏Access对各种数据库对象的操作方法有多种,这些方法在多数情况下是方便有效的。但是,很多时候操纵的对象较多,操作比较复杂。完全靠人工操作效率很低,又容易出错。宏可以将数据库中各种对象连接起来,从而大大提高效率。宏是指一个或多个操作的集合,其中每个操作实现特定的功能。宏是组织整个数据库的重要工具之一。第43页/共75页2.6.6 2.6.6 页和模块页和模块页的全称是数据访问页,是链接到某个数据库的Web页。在数据访问页中可以浏览、添加、编辑和操纵存储在数据库中的数据。有些数据库管理系统的功能需求很多,对数据库的各种操作更加复杂,有些功能用宏无法实现。为此,Access嵌入了功能强大的数据库编程语言Visual Basic for Applications,简称VBA。模块就是Access利用VBA开发出来的程序段。第44页/共75页2.6.72.6.7 各种数据库对象间的关系各种数据库对象间的关系概括地说,各种数据库对象的作用是:表用来存储数据;查询用来检索数据;窗体用来查看和维护数据;报表用来打印数据;宏用来提高工作效率。所有数据库对象通过关系、宏及模块联系起来。表间关系主要应用在查询中。窗体和报表往往以表和查询为基础。宏和模块是Access的强化工具,能进一步扩展数据库的功能,提高数据库管理的自动化程度和效率。第45页/共75页选择一个具体的数据库对象后单击工具栏上的“属性”按钮,系统就弹出该对象的属性对话框,在该对话框内可以设置该对象的各种属性。利用“数据库”窗口工具栏靠右边的大图标、小图标等4个按钮可以切换不同的查看方式。在“数据库”窗口中可以对数据库对象进行删除、复制、重命名等操作。其方法和Word中对文件的删除、复制、重命名等操作基本相同。第46页/共75页2.7 2.7 数据类型与表达式数据类型与表达式数据类型和表达式都是数据库非常重要的内容。正确使用数据类型是设计好表的前提。灵活运用表达式可以设计高质量的表和丰富多彩的查询,因而也就能够设计出功能强大的数据库管理系统。第47页/共75页2.7.1 2.7.1 数据类型数据类型Access数据库为字段提供了10种数据类型,它们的用法和所占存储空间大小如下。1文本型(Text):用于文本或文本与数字的结合,最长为255个字符(字节),默认值是50。在Access中,每一个汉字和所有特殊字符(包括中文标点符号)都算作一个字符。货币型(Currency):用来存储货币值,占8个字节,在计算中禁止四舍五入。第48页/共75页数字型(Number):用于可以进行数值计算的数据,但货币除外。数字型字段按字段大小分字节、整型、长整型、单精度型、双精度型、同步复制ID和小数7种情形,分别占1、2、4、4、8、16和12个字节。日期/时间型(Date/Time):用于存储日期和(或)时间值,占8个字节。自动编号型(AutoNumber):用于在添加记录时自动插入的序号(每次递增1或随机数),默认是长整型,也可以改为同步复制ID。自动编号不能更新。第49页/共75页是/否型(Yes/No):用于表示逻辑值(是/否,真/假),占1个字节。备注型(Memo):用于长文本或长文本与数字的结合,最长为65535个字符。OLE对象型(OLE Object):用于使用OLE协议在其它程序中创建的OLE对象(如Word文档、Excel电子表格、图片、声音等),最多存储1GB(受磁盘空间限制)。第50页/共75页超级链接型(Hyper Link):用于存放超级链接地址,最多存储64000个字符。查阅向导型(Lockup Wizard):让用户通过组合框或列表框选择来自其它表或值列表的值,实际的字段类型和长度取决于数据的来源。附件A中列出了Access的全部数据类型的适用范围和它们的默认宽度(即默认的存储空间)。第51页/共75页2.7.2 2.7.2 常用函数常用函数Access内置了包括数据库函数、数字函数、字符串函数、日期/时间函数和财务函数在内的大量函数,从而大大扩展了Access的功能。本书在附录B中列举了Access的常用函数,所有函数都可以通过帮助系统获得其定义和使用说明。这些函数大多数有参数(一个或多个),少数没有参数。无论是否有参数,函数名后一定要有括号(),参数放在()中。在Access的所有字符串函数中,每一个汉字和所有特殊字符(包括中文标点符号)的长度都是1。第52页/共75页Access数据库中,字符串必须用英文括号(”)括起来,日期/时间必须用#括起来。这里仅介绍一些有代表性的函数。CStr(Expr):根据Expr是数字还是非纯数字组成的字符串返回对应的数值或字符串。例如:CStr(-123.61)=-123.61,CStr(”1a2b”)=”1a2b”。Date():返回当前日期。如果今天是2000年12月9日,则Date()=#00-12-9#。第53页/共75页DateAdd(Interval,number,date):返回给定日期Date加间隔Number后的日期。Interval用”yyyy”、”q”、”m”、”d”格式(大小写字母皆可)表示相差的年数、季度数、月数或天数。例如:DateAdd(“d”,7,#2000-12-9#)=#2000-12-16#,DateAdd(“YYYY”,1,#2000-12-9#)=#2001-12-9#。DateSerial(Year,Month,Day):返回给定年、月、日(都必须是合理的数字)对应的日期。例如:DateSerial(2000,12,9)=#2000-12-9#。5Day(Date):返回Date的日数(即该月第几天)。例如:Day(#00-12-9#)=9。第54页/共75页IIf(Expr,Truepart,Falsepart):根据Expr的值是True(或False)返回Truepart(或Falsepart)。例如:函数IIF(ab,”成功”,”失败”)的执行结果是:如果ab为true,则返回”成功”,如果ab为false,则返回”失败”。InStr(Start,String1,String2):返回在字符串String1中从Start开始查找子字符串String2的起始位置,缺省Start时默认为1。例如:Instr(2,“中国人民可以自豪地说,中国人民从此站起来了”,”中国”)=12。Int(Number):返回不超过Number的最大的整数。例如:Int(12.86)=12,Int(-25.1)=-26。第55页/共75页Trim(String):返回去掉String左右两边空白后的字符串。例如:Trim(“a dog ”)=”a dog”。Mid(String,Start,Length):返回字符串String中从左由Start指定的位置开始截取由Length确定个数的子字符串,缺省Length时默认为到原字符串末尾。例如:Mid(“I am a Student”,6,4)=”a St”,Mid(“I am a Student”,6)=”a Student”。UCase(String):返回字符串String的全部对应大写字符串。例如:UCase(“I am a Student”)=”I AM A STUDENT”。第56页/共75页Val(String):返回字符串String(或其起始部分)对应的数。如果String(或其起始部分)不对应一个数,则返回0。例如:Val(“3.14”)=3.14,Val(“12.3abc6”)=12.3,Val(“a”)=0。第57页/共75页2.7.3 2.7.3 运算符运算符一、字面值与常量字面值(又称原义值、文字值或值)是指Access数据库中使用与显示完全相同的值,即通常所说的常数。常量是预先定义好的、固定不变的数据。它们的表示方法如下。文字值:例如:”姓名”、”3/25”、”1945-10-21”、”22:30”、”粤X-P9738”等。数字值:有几种不同表示方法。例如:87654321、-23.45、-3.5E-6、3/5等。日期/时间值:例如:#3/25#、#2000-12-9#、#22:30#、#22:30:45#。还有其它格式。第58页/共75页逻辑常量:True和False,作为逻辑运算的结果。空值常量:Null,适用于各种数据类型。对于数值型,Null不是0,参与运算的结果还是Null;对于文本型,Null不等同空字符串;对于日期/时间型,Null不表示任何日期或时间;对于逻辑型,Null既不是True,也不是False。【说明】要掌握表面一样但属不同数字类型的值的不同表示方法,如前面列举的”3/25”(文本)、3/25(数字)、#3/25#(日期)和”22:30”(文本)、#22:30#(时间)。第59页/共75页二、变量变量是命名的存储空间,用于存储可以改变的数据。变量名的命名规则是:以字母开头的不超过255个字符的字符串,该字符串可用字母、汉字、数字和下划线,但不能用标点符号、空格和类型声明字符。变量分整型、单精度、货币、字符串、日期等不同类型。Access数据库中,字段名、属性、控件等都可以作为变量。第60页/共75页如果用字段名作为变量,其表示方法是用英文方括号将字段名括起来。例如:学号、姓名、出生年月日等。如果同时用不同表中的同名字段作为变量,则必须将表名写在每一个字段前,也用括起来,并用英文感叹号!将两对隔开。例如:学生情况!学号、选课及成绩!学号。第61页/共75页三、运算符Access数据库的运算符(又称操作符)有以下5种。算术运算符。+:加、-:减、:整除(取整)、Mod:取余、*:乘、/:除、:乘方和开方。连接运算符。&和+:字符串连接。&的作用是将&两边的字符串连接起来生成一个新字符串。例如:“广东”&“顺德”的结果是:“广东顺德”。如果&连接数字,则&会将该数字转换成字符串后再连接,并且在原数字前后都添一空格。而+只能连接两个字符串,这时的作用和&相同。第62页/共75页比较运算符(亦称关系运算符)。=:等于、:大于、=:大于等于(不小于)、=:小于等于(不大于)、:不等于。比较运算的结果是逻辑值:True或False。比较运算符也适用于字符串的比较,其比较方法是从首字符开始依次比较两字符串的ASCII码的大小。汉字字符的比较方法也是这样,只不过对常用汉字是按其拼音字母比较。并且,任何汉字都比任何英文字母大。第63页/共75页4特殊运算符(又称匹配运算符)。BetweenAnd:指定值的匹配范围、Like:指定值的匹配条件、In:指定匹配值的集合、Is:指定一个值是Null或not Null、Not:指定不匹配的值。特殊运算符前面都可以有Not,形成复合运算。第64页/共75页特殊运算Like后的匹配条件中可以使用这样5个通配符:“*”:与包含任意多个字符的字符串匹配。“?”:与任意1个字符(包括数字和汉字)匹配。“#”:与任意1个数字字符匹配。“”:与方括号内任意1个字符匹配。“!”:与不在方括号内的任意1个字符匹配(必须与一起用)。【说明】英文字母的匹配不区分大小写。第65页/共75页数据类型和表达式都是数据库非常重要的内容。正确使用数据类型是设计好表的前提。下面是特殊运算的几个实例。(1)Not“北京”:不是“北京”的值。(2)Between#2000-1-1#and#2000-6-30#:属于2000年上半年的日期。(3)Not Between#2000-1-1#and#2000-6-30#:不属于2000年上半年的日期(既含2000年6月30日以后,也含2000年1月1日以前)。(4)In(“北京”,”上海”,”南京”,”广州”):与“北京”、”上海”、”南京”、”广州”之一相同的值。第66页/共75页(4)In(“北京”,”上海”,”南京”,”广州”):与“北京”、”上海”、”南京”、”广州”之一相同的值。(5)Is Null:指定的字段为空值。(6)Like“李*”:第1个字是”李”的字符串。(7)Not Like“?梅*”:第3个字不是”梅”的字符串。(8)Like“#”:7个字符都是数字的字符串。【说明】书写时,逻辑运算符和特殊运算符(即英文单词)与前后的其它文字间应有1个空格。第67页/共75页2.7.4 2.7.4 表达式表达式Access数据库的表达式是字面值、常量、变量、函数以及字段名、控件和属性(在表达式中统称为操作数)通过运算符(不包括特殊运算符)用任何正确方式连接形成的组合,它至少包括一个运算符和一个操作数。该表达式的计算结果是单个值。在Access数据库中,表达式又称为条件(Access 2003)或准则(Access 2000)。Access数据库中有许多场合使用表达式,具体使用方法在以后的相关处说明。这里仅介绍Access数据库中表达式的基本概念。第68页/共75页各种运算符(不包括特殊运算符)的优先级顺序如下:()括号();()函数;();()*和/;()和Mod;()+和-;()=、=、=和;()Not;()And;()Or。第69页/共75页在表达式中适当运用括号而不单纯依赖优先级是避免错误的好方法。表达式计算结果的数据类型有多种。根据运算的结果是数量、文本、日期或逻辑值,将表达式分别称为算术表达式、文本表达式、日期表达式或逻辑表达式。在数据库中用得最多的是逻辑表达式。“I am”&“a student.”是文本表达式。a+bc、true=false和“广州”&“深圳”“广东”是逻辑表达式。第70页/共75页涉及到Null的逻辑表达式只能用Is Null或Is not Null不能用“=”。例如:身高 Is Null对,而身高=Null错。而Not 身高 Is Null和身高 Is not Null都对,且含义相同。日期型常量或变量是可以进行如下特定含义运算的:日期加(或减)一个整数N得到这个日期后(或前)N天的日期。两个日期相减得到这两个日期相差的天数。例如:#1945-10-21#-39=#1945-9-12#;#1976-4-24#-#1972-7-5#=1389。第71页/共75页在Access主窗口按Ctrl+G键就打开了立即窗口,可以在其中进行表达式练习。键入字符”?”后输入一个表达式,再按Enter键,这个表达式的值就在下一行显示出来。利用“立即窗口”可以验证前面所举的例子。不能在“立即窗口”中用键入字符”?”后跟一特殊运算表达式将其结果显示出来。五、例题其中的相关名词都是表的字段名。()姓名中有含有霞字。解:姓名 Like“*霞*”。第72页/共75页()班级代号(5个数字组成的文本型)第2、3两位是“01”。解:班级代号 Like“#01#”。()家庭人均月收入在500元到1000元之间(包括500和1000)。解:家庭人均月收入=500 And 家庭人均月收入=1000 或家庭人均月收入 Between 500 And 1000。()家庭人均月收入少于500或为空值。解:家庭人均月收入170 And 性别=“男”。()到今天年满18岁(出生年月日是日期型)解:DateAdd(“yyyy”,18,出生年月日)=160)Or(性别=男 And 身高=160)或 (IIf(性别=“女”,身高=160,身高=180)=True。第74页/共75页谢谢大家观赏!第75页/共75页