《MS Access 2007学习笔记》2009-07-29 16:30:54 摘抄自http://download.csdn.net/source/1529085
01. 数据库概念
数据库技术是管理数据的最有效手段。
数据库就是数据的集合.
数据处理就是将数据转换为信息的过程,它包括对数据库中的数据进行收集、存储、传播、检索、分类、加工或计算、打印和输出等操作。
数据库系统,从根本上说是计算机化的记录保持系统,它的目的是存储和产生所需要的有用信息。狭义上讲,数据库系统是由数据库、数据库管理系统和管理员构成。广义上讲,数据库系统是指采用了数据库技术的计算机系统。
与传统的文件管理系统相比,数据库系统具有以下优点:
数据结构化 、数据存储灵活 、 数据共享性强 、数据冗余度低 、数据独立性高 。数据库系统根据数据库存放位置的不同分为:集中式数据库、分布式数据库
数据库管理系统(DBMS)大多是由许多系统程序所组成的一个集合。每个程序都有各自的功能,一个或几个程序一起协调完成DBMS的一件或几件工作任务。各种DBMS的组成因系统而异,一般来说,它由以下几个部分组成:语言编译处理程序 、系统运行控制程序 、系统建立、维护程序 、数据字典
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。具体步骤包括:需求分析、逻辑设计结构、物理设计结构 、数据库的实施 、数据库的运行与维护。
02.界面
界面元素主要包括:标题栏、功能区、导航窗格、功能区、状态栏、
Access支持自定义设置工作环境功能.
ACCESS中的对象主要有:表、查询、窗体、报表、宏以及模块等
Access 2007定义了10种数据类型:文本(Text)、备注(Memo)、数字(Number)、日期/时间(Date/Time)、货币(Currency)、自动编号(Auto Number)、是/否(Yes/No)、超级链接(Hyperlink)、OLE对象(OLE Object)、查询向导(Lookup Wizard)。
表达式是各种数据、运算符、函数、控件和属性的任意组合,其运算结果为单个确定类型的值。表达式具有计算、判断和数据类型转换等作用。
03数据库的创建和维护
创建数据库有两种方式:使用模版创建、直接创建新数据库
对于已创建的数据库,Access 2007提供了4种打开方式:以共享方式打开、以独占方式打开、以只读方式打开和以独占只读方式打开。
u 以共享方式打开:选择这种方式打开数据库,即以共享模式打开数据库,允许在同一时间能够有多位用户同时读取与写入数据库。
u 以独占方式打开: 选择这种方式打开数据库时,当有一个用户读取和写入数据库期间,其他用户都无法使用该数据库。
u 以只读方式打开:选择这种方式打开数据库,只能查看而无法编辑数据库。
u 以独占只读方式打开:如果想要以只读且独占的模式来打开数据库,则选择该选项。所谓的“独占只读方式”指在一个用户以此模式打开某一个数据库之后,其他用户将只能以只读模式打开此数据库,而并非限制其他用户都不能打开此数据库。
04创建与使用表
可直接输入数据创建表
可使用模版创建表
使用表设计器创建表
Access 2007定义了11种数据类型,在表设计窗口“数据类型”单元格的下拉列表中显示了11种数据类型。
数 据 类 型 |
使 用 说 明 |
字 段 大 小 |
文本(Text) |
文本类型或文本与数字类型的结合,与数字类型一样,都不需要计算,例如姓名 |
最多可用255个字符或是由FieldSize属性设置长度。Microsoft Access不会为文本字段中未用的部分保留空格 |
备注(Memo) |
长文本类型或文本与数字类型的组合 |
最多可用640000个字符 |
数字(Number) |
用于数学计算中的数值数据。关于如何设定特殊数字类型,可以查看FieldSize属性的说明 |
1、2、4或8个字节 |
日期/时间(Date/Time) |
日期/时间数值得设定范围为100~9999年 |
8个字节 |
自动编号(Auto Number) |
每当向表中添加一条新的记录时,由Access指定的一个惟一的顺序号(每次递增1)或随机数。自动编号字段不能更新 |
4个字节 |
是/否(Yes/No) |
“是”和“否”的数值与字段只包含两个数值(True/False或On/Off)中的一个 |
1位 |
超级链接(Hyperlink) |
保存超级链接的字段。超级链接可以是某个文件的路径UNC路径或URL |
最长为64000个字节 |
OLE对象(OLE Object) |
联接或内嵌于Access数据表中的对象,可以是Excel电子表、Word文件、图形、声音或其他二进制数据 |
最多可用10亿字节,受限于所用的磁盘空间 |
查询向导(Lookup Wizard) |
创建字段,该字段将允许使用组合框来选择另一个表或一个列表中的值。从数据类型列表中选择此选项,将打开向导以进行定义 |
通常为4个字节 |
附件 |
可以将多个文件存储在单个字段之中,也可以将多种类型的文件存储在单个字段之中 |
最多可以附加2GB的数据,单个文件的大小不得超过256MB |
“输入掩码”属性用于设置字段、文本框以及组合框中的数据格式,并可对允许输入的数值类型进行控制。要设置字段的“输入掩码”属性,可以使用Access自带的“输入掩码向导”来完成。例如设置电话号码字段时,可以使用掩码引导用户准确地输入格式为( )- 。
“有效性规则”属性可输入公式(可以是比较或逻辑运算组成的表达式),用在将来输入数据时,对该字段上的数据进行查核工作,如查核是否输入数据、数据是否超过范围等;“有效性文本”属性可以输入一些要通知使用者的提示信息,当输入的数据有错误或不符合公式时,自动弹出提示信息。
简单的说,索引就是搜索或排序的根据。也就是说,当为某一字段建立了索引,可以显著加快以该字段为依据的查找、排序和查询等操作。但是,并不是将所有字段都建立索引,搜索的速度就会达到最快。这是因为,索引建立的越多,占用的内存空间就会越大,这样会减慢添加、删除和更新记录的速度。
u 设置表的主键
u 创建索引
05表的高级操作
在数据表视图中,可以根据字段的大小调整表的行高和列宽、改变字段的前后顺序、隐藏、显示与冻结列和设置数据的字体格式等。
在数据表视图中,Access会显示数据表中的所有字段。当表中的字段较多或者数据较长时,需要单击字段滚动条才能浏览到全部字段,这时,可以将不重要的字段隐藏,当需要查看这些数据时再将它们显示出来。
在数据表视图中,通常会在行和列之间显示网格,用户可以通过设置数据表的网格和背景来更好地区分记录。
要在窗体中查找一个或多个特定记录,或者要打印报表、表或查询中的特定记录,可以使用筛选。筛选可以将数据视图局限于特定记录。Access提供了使用筛选器筛选、基于选定内容、使用窗体筛选和使用高级筛选等筛选方式。
在实际操作过程中,时常需要将Access表中的数据转换成其他的文件格式,如文本文件(.txt)、Excel文档(.xls)、dBase(.dbf)、HTML文件(.html)等,相反,Access也可以通过“导入”的方法,直接应用其他应用软件中的数据。
Access 2007允许用户在数据表中插入子数据表。子数据表可以帮助用户浏览与数据源中某条记录相关的数据记录,而不是只查看数据源中的单条记录信息。、
Access是一个关系型数据库,用户创建了所需要的表后,还要建立表之间的关系,Access就是凭借这些关系来连接表或查询表中的数据的。包括:创建关系、设置参照完整性
在表之间创建关系,可以确保Access将某一表中的改动反映到相关联的表中。一个表可以和多个其他表相关联,而不是只能与另一个表组成关系对。
参照完整性是一种系统规则,Access可以用它来确保关系表中的记录是有效的,并且确保用户不会在无意间删除或改变重要的相关数据。
复选框选项 |
关系字段的数据关系 |
|
||
实施参照完整性 |
级联更新相关字段 |
级联删除相关字段 |
||
√ |
两表中关系字段的内容都不允许更改或删除 |
|||
√ |
√ |
当更改主表中关系字段的内容时,子表的关系字段会自动更改。但仍然拒绝直接更改子表的关系字段内容 |
||
√ |
√ |
当删除主表中关系字段的内容时,子表的相关记录会一起被删除。但直接删除子表中的记录时,主表不受其影响 |
||
√ |
√ |
√ |
当更改或删除主表中关系字段的内容时,子表的关系字段会自动更改或删除 |
查询是数据库最重要和最常见的应用,它作为Access数据库中的一个重要对象,可以让用户根据指定条件对数据库进行检索,筛选出符合条件的记录,构成一个新的数据集合,从而方便用户对数据库进行查看和分析。
选择查询是最常用的查询类型,它从一个或多个相关联的表中检索数据,并且用数据视图显示结果。用户也可以使用选择查询来对记录进行分组,或对记录进行总计、计数、平均值以及其他类型的计算
07操作查询和sql查询
操作查询是Microsoft Access 2007查询中的重要组成部分,利用它可以对数据库中的数据进行简单的检索、显示和统计,而且可以根据需要对数据库进行修改。SQL是一种结构化查询语言,也是一种功能极其强大的关系数据库语言。
操作查询用于对数据库进行复杂的数据管理操作,它能够通过一次操作完成多个记录的修改。操作查询包含以下几种类型:更新查询 、生成表查询 、追加查询 、删除查询 。
Access的交互查询不仅功能多样,而且操作简便。事实上,这些交互查询功能都有相应的SQL语句与之对应,当在查询设计视图中创建查询时,Access将自动在后台生成等效的SQL语句。当查询设计完成后,就可以通过“SQL视图”查看对应的SQL语句。
SQL视图是用于显示和编辑SQL查询的窗口,主要用于以下两种场合:查看或修改已创建的查询 、 通过SQL语句直接创建查询 。
SQL查询是使用SQL语句创建的查询。在SQL视图窗口中,用户可以通过直接编写SQL语句来实现查询功能。在每个SQL语句里面,最基本的语法结构是“SELECT…FROM…[WHERE]…”,其中SELECT表示要选择显示哪些字段,FROM表示从哪些表中查询,WHERE说明查询的条件。
SELECT语句的一般格式:
SELECT[谓词]{*|表名.*|[表名.]字段1[AS别名1][,[表名.]字段2[AS别名2][,...]]}
FROM 表的表达式[,...][IN外部数据库]
[WHERE...]
[GROUP BY...]
[HAVING...]
[ORDER BY...]
[WITH OWNERACCESS OPTION]
UPDATE语句用来修改数据表中已经1存在的数据记录。它的基本语法格式如下:
UPDATE 表名
SET 字段1 = 值1,…, 字段N = 值N,
[WHERE<条件>]
DELETE语句用来删除数据表中的记录,基本语法格式如下:
DELETE 字段
FROM 表名
[WHERE<条件>]
SELECT…INTO语句用于从一个查询结果中创建新表,基本语法格式如下:
SELECT 字段1,字段2,…
INTO 新表
FROM 表
[WHERE <条件>]
不是所有的SQL查询都能转化成查询设计视图,我们将这一类查询称为SQL特定查询。如联合查询、传递查询和数据定义查询等不能在设计视图中创建,只能通过在SQL视图中输入SQL语句来创建。包括 联合查询 、 传递查询 、数据定义查询
08创建窗体
除了数据表视图外,Access还提供了主要的人机交互界面—— 窗体。事实上,在Access应用程序中,所有操作都是在各种各样的窗体内进行的。因此,窗体设计的好坏直接影响Access应用程序的友好性和可操作性。
窗体是主要用于输入和显示数据的数据库对象,也可以将窗体用作切换面板来打开数据库中的其他窗体和报表,或者用作自定义对话框来接收输入及根据输入执行操作。
窗体主要有命令选择型窗体(主要用于信息系统控制界面设计)和数据交互式窗体(主要用于显示信息和输入数据)两种。
窗体具有下列6种视图类:
窗体视图
数据表视图 :采用行、列的二维表格方式显示数据表中的数据记录
设计视图 :可以编辑窗体中需要显示的任何元素,包括需要显示的文本及其样式、控件的添加和删除及图片的插入等;还可以编辑窗体的页眉和页脚,以及页面的页眉和页脚等。另外,还可以绑定数据源和控件。
数据透视表视图:通过指定视图的行字段、列字段和汇总字段来形成新的显示数据记录
数据透视图视图:以更直观的图形方式来显示数据,下图以柱形图的方式显示各资产购买价格和当前价值的比。
布局视图:用于修改窗体的最直观的视图
09 使用控件与修饰窗体
在窗体中使用控件输入不同的数据,同样可以达到修改数据的目的。
u 使用组合框控件
u 使用列表框控件
u 使用复选框控件
u 使用选项卡控件
用户入口界面是用户与系统进行交互的主要通道,一个功能完善、界面美观、使用方便的用户界面,可以极大地提高工作效率。Access为用户提供了一个创建用户入口界面的向导—— 切换面板。利用切换面板管理器可以创建和编辑切换面板,组织和应用程序。
10建立和打印报表
报表是专门为打印而设计的特殊窗体,Access 2007中使用报表对象来实现打印格式数据功能,将数据库中的表、查询的数据进行组合,形成报表,还可以在报表中添加多级汇总、统计比较、图片和图表等。建立报表和建立窗体的过程基本相同,只是窗体最终显示在屏幕上,而报表还可以打印出来;窗体可以与用户进行信息交互,而报表没有交互功能。
报表的创建方式:使用报表工具快速创建报表、使用报表向导创建报表、使用标签工具创建标签 、使用空白报表工具创建报表、使用设计视图创建报表
11 使用宏
Access共有50多种宏指令,它们和内置函数一样,可为应用程序的设计提供各种基本功能。使用宏非常方便,不需要记住语法,也不需要编程,只需利用几个简单的宏操作就可以对数据库完成一系列的操作。宏实现的中间过程是自动的。
宏就是一个或多个操作的集合,其中的每个操作都能够实现特定的功能。
事件过程是为响应由用户或程序代码引发的事件或由系统触发的事件而运行的过程。事件(event)是指对象所能辨识或检测的动作,当此动作发生于某一个对象上,其相对的事件便会被触发。如果预先为此事件编写了宏或事件程序,则该宏或事件程序便会被执行。
在Access中,宏可以是包含操作序列的一个宏,也可以是由若干个宏构成的宏组,还可以使用条件表达式来决定在什么情况下运行宏,以及在运行宏时是否进行某项操作。根据以上的3种情况可以将宏分为3类:操作序列、宏组和包括条件操作的宏。
宏组是存储在同一个宏名下的相关宏的组合,它与其他宏一样可在宏窗口中进行设计,并保存在数据库窗口的“宏”选项卡中。
功 能 分 类 |
宏 命 令 |
说 明 |
打开 |
OpenDataAccessPage |
在页视图或设计视图中打开数据访问页 |
OpenForm |
在窗体视图、窗体设计视图、打印预览或数据表视图中打开窗体 |
|
OpenModule |
在指定过程的设计视图中打开指定的模块 |
|
OpenQuery |
打开选择查询或交叉表查询 |
|
OpenReport |
在设计视图或打印预览视图中打开报表或立即打印该报表 |
|
OpenTable |
在数据表视图、设计视图或打印预览中打开表 |
|
查找、筛选记录 |
ApplyFilter |
对表、窗体或报表应用筛选、查询或SQL的WHERE子句,以便限制或排序表的记录,以及窗体或报表的基础表,或基础查询中的记录 |
FindNext |
查找符合最近FindRecord操作或“查找”对话框中指定条件的下一条记录 |
|
FindRecord |
在活动的数据表、查询数据表、窗体数据表或窗体中,查找符合条件的记录 |
|
GoToRecord |
在打开的表、窗体或查询结果集中指定当前记录 |
|
ShowAllRecords |
删除活动表、查询结果集或窗体中已应用过的筛选 |
窗口 |
Maximize |
放大活动窗口,使其充满Access主窗口。该操作不能应用于Visual Basic编辑器中的代码窗口 |
Minimize |
将活动窗口缩小为Access主窗口底部的小标题栏。该操作不能应用于Visual Basic编辑器中的代码窗口 |
|
MoveSize |
能移动活动窗口或调整其大小 |
|
Restore |
将已最大化或最小化的窗口恢复为原来大小 |
|
显示信息框,响铃警告 |
Beep |
通过计算机的扬声器发出嘟嘟声 |
Echo |
指定是否打开回响,例如宏执行时显示其运行结果,或宏执行完才显示运行结果。此处还可设置状态栏显示文本 |
|
Hourglass |
使鼠标指针在宏执行时变成沙漏形式 |
|
Msgbox |
显示包含警告信息或其他信息的消息框 |
|
SetWarnings |
打开或关闭系统消息 |
|
复制 |
CopyObject |
将指定的对象复制到不同的Access数据库,或复制到具有新名称的相同数据库。使用此操作可以快速创建相同的对象,或将对象复制到其他数据库中 |
删除 |
DeleteObject |
删除指定对象;未指定对象时,删除数据库窗口中指定对象 |
12 vba 编程
Access提供的对象模型可以将数据库功能与自定义的解决方案集成起来。通过使用Access对象模型,可以实现对事件编程、创建Access窗体和报表以及设置引用等。对象模型提供了一些对象,Access内部应用程序可以使用这些对象。
u 对象
u 对象集合
u 对象模型
对象集合是一个包含几个其他对象的对象,而这些对象可具有不同的类型,并且对象的位置均可改变。Access窗体具有以下3种集合,如下图所示,其中填充色为灰色的表示集合。
在开发数据库产品以后,为了防止其他人查看或更改VBA代码,需要对该数据库的VBA代码进行保护。保护VBA代码的措施主要有两种:对VBA代码设置密码保护或生成MDE文件保护。
u 设置密码保护Visual Basic代码
u 生成ACCDE文件
ACCDE文件是旧版本Access中的.mde 文件的Access 2007版本。
13 数据库安全
数据库系统的安全主要是指防止非法用户使用或访问系统中的应用程序和数据。为避免应用程序及其数据遭到意外破坏,Access提供了一系列保护措施,包括设置访问密码,对数据进行加密等多种方法。
要隐藏数据库对象,用户可以在导航窗格中选中该对象,然后按下Alt+Enter组合键打开如下图所示的“透视表窗体 属性”对话框,在对话框中选中“隐藏”复选框即可。
Access数据库与Excel 2007工作簿或Word 2007文档是不同意义的文件。Access数据库是一组对象(表、窗体、查询、宏、报表等),这些对象通常必须相互配合才能发挥功用。
要允许不安全的表达式在计算机上的所有用户的所有Access中运行,可以对注册表项进行更改。
重命名 |
Rename |
重命名当前数据库中指定的对象 |
保存 |
Save |
保存一个指定的Access对象,或保存当前活动对象 |
关闭 |
Close |
关闭指定的表、查询、窗体、报表、宏等窗口或活动窗口,还可以决定关闭时是否要保存更改 |
Quit |
退出Access,效果与文件菜单中的退出命令相同 |
|
导入 导出 |
OutputTo |
将指定的数据库对象中的数据以某种格式输出 |
SendObject |
效果与文件菜单中的发送命令一样,该操作的参数对应于“发送”对话框的设置,但“发送”命令仅应用于活动对象,而SendObject操作可以指定要发送的对象 |
|
TransferDatabase |
在当前数据库(.mdb)与其他数据库之间导入或导出数据 |
|
TransferSpreadsheet |
在当前数据库(.mdb)与电子表格文件之间导入或导出数据 |
|
TransferText |
在当前数据库(.mdb)与文本文件之间导入或导出文本 |
功 能 分 类 |
宏 命 令 |
说 明 |
焦点 |
GoToControl |
将焦点移动到打开的窗体、窗体数据表、表数据表或查询数据表中的字段或控件上 |
GoToPage |
在活动窗体中,将焦点移到指定页的第一个控件上 |
|
SelectObject |
选定数据库对象 |
|
设置值 |
SendKeys |
将键发送到键盘缓冲区 |
SetValue |
为窗体、窗体数据表或报表上的控件、字段设置属性值 |
|
更新 |
RepaintObjet |
完成指定的数据库对象所挂起的屏幕更新,或对活动数据库对象进行屏幕更新。这种更新包括控件的重新设计和重新绘制 |
Requery |
通过重新查询控件的数据源,来更新活动对象控件中的数据。如果不指定控件,将对对象本身的数据源重新查询。该操作确保活动对象及其包含的控件显示最新数据 |
|
打印 |
PrintOut |
打印活动的数据表、窗体、报表、模块数据访问页和模块,效果与文件菜单中的打印命令相似,但是不显示打印对话框 |
控制 |
CancelEvent |
取消引起该宏执行的事件 |
RunApp |
启动另一个Windows或MS-DOS应用程序 |
|
RunCode |
调用Visual Basic Function过程 |
|
控制 |
RunCommand |
执行Access菜单栏、工具栏或快捷菜单中的内置命令 |
RunMacro |
执行一个宏 |
|
RunSQL |
执行指定的SQL语句以完成操作查询,也可以完成数据定义查询 |
|
StopAllMacros |
终止当前所有宏的运行 |
|
StopMacro |
终止当前正在运行的宏 |