《Access操作教程》由会员分享,可在线阅读,更多相关《Access操作教程(418页珍藏版)》请在金锄头文库上搜索。
1、Access2007Access2007循序渐进循序渐进教程完教程完整版(第整版(第1-91-9章)章)第1章 Access 2007和数据库础知识 Page2第2章 表Access的“仓库” Page22 第3章 “查询”Access的检索系统 Page79 第4章 窗体Access的“查询界面” Page119 第5章 报表Access的“统计系统” Page189第6章 宏完善数据库的工具 Page233第7章 学习使用VBA Page270第8章 “保密”、“数据共享”和“界面定制” Page325第9章 创建实用Access数据库 Page357第第1 1章章 Access 2007
2、Access 2007和数据库和数据库 Access 2007Access 2007的主要用途的主要用途AccessAccess 20072007的主体构成的主体构成数据库的基础知识数据库的基础知识Access 2007Access 2007空白数据库的创建空白数据库的创建Access 2007Access 2007的操作界面和设置的操作界面和设置Access 2007Access 2007和编程和编程Access 2007Access 2007、VBVB、ASPASP和和SQLSQL典型实例:利用模板创建典型实例:利用模板创建“ “学生学生” ”管理数据库管理数据库1.1 Access 20
3、07的主要用途 Access 2007是Office 2007的一个组件,在安装Office 2007时,通常进行默认安装就可以将Access 2007安装到电脑上。1.能够简单实现Excel无法实现或很难实现的数据统计和报表功能。2.Access可非常方便的开发简单的数据库应用软件,比如进销存管理系统、计件工资管理系统、人员管理系统、超市管理系统等。Access 2007的对象主要包括表、查询、窗体、报表、页、宏和模块。 1.2 Access 2007的主体构成“表”创建按钮“窗体”创建按钮“报表”创建按钮“查询”创建按钮“宏”和“模块”创建按钮导航窗格1.2.1 表 表是存储数据的对象。A
4、ccess 2007数据库中所有的最基本的数据都是存储在表中的。其它的几个对象,比如“查询”、“报表”等都是以此为基础进行操作的。表最上边的这一行是列的标题 列标题这里是表格的数据,也就是行,应用程序或者说最终用户主要操作的就是这些数据,在此处可以添加或修改 表格数据 打开“联系人管理”素材1.2.2 查询 查询是Access 2007数据库的另外一个对象,它的主要作用是查询出满足客户要求的数据,并显示出来。这里是查询出来的数据 打开“联系人管理”素材1.2.3 窗体 窗体就是用户的操作界面。在表中直接输入或修改数据不直观,而且容易出现错误,为此我们可以专门设计一个窗口,用于输入数据。 打开“
5、联系人管理”素材打开的“联系人输入”窗体 1.2.4 报表 报表的作用就是将数据以格式化的方式打印出来。报表中大多数信息来自表、查询或SQL语句。打开“联系人管理”素材打开的“报表” 1.2.5 宏 宏是若干个操作的组合,用来简化一些经常性的操作。宏没有具体的实体显示,只有一系列操作的记录。所以宏只能显示它本身的设计视图。关于宏的设计和制作,将在第7章中详细讲述。通过触发一个宏可以更为方便地在窗体或报表中操作数据,如它可以执行打开表或窗体、运行查询、运行打印等操作。当数据库中有大量重复性的工作需要处理时,使用宏是最佳的选择。1.2.6 模块 模块是用Access 2007提供的VBA语言编写的
6、程序段。 当然如果能利用好模块,您将会事半功倍。VBA(Visual Basic for Applications)语言是Microsoft Visual Basic的一个子集。 在一般情况下,用户不需要创建模块,除非要建立比较复杂的应用程序,或者为了更加方便的实现某些功能。简单地说数据库就是许多数据的集合。实际上,在日常生活中,大家都在不知不觉地建立各式各样的数据库,如手机上的电话薄便是一个数据库。 1.3.1 数据库的概念 1.3 数据库基础知识 使用数据库组织和存储数据的好处是:数据结构更加规范、易于检索和统计。所以很多应用程序(如人事管理等)需要使用数据库来组织和存储数据。 计算机和操
7、作系统 数据库 数据库管理系统应用程序 计算机、数据库、数据库管理系统和应用程序的关系如下图所示。 从图中不难看出,Access 2007数据库管理系统的操作对象是数据库,它的服务对象是应用程序。 1.3.2 关系型数据库 Access 2007建立的数据库属于关系型数据库。关系型数据库是目前最流行的数据库。它的一个最重要的概念是“关系” 。无论是实体还是实体之间的联系都用关系(二维表)来表示,个关系就是一张二维表。二维表中的“列”一般表示特征。 “行”代表一个实体 单击“空数据库”链接 模版类型切换选择数据库的存放位置单击数据库模板1231.4 Access 2007空白数据库的创建1.5
8、Access 2007的操作界面和设置创建空白的数据库后,可以进入Access 2007的主操作界面。标签新建表操作界面1.6 Access 2007和编程Access的编程功能与数据库完美的集成,使得在只是实现一些基本的数据存储、统计查询等操作时,用Access内置的向导即可轻松完成,无需编写代码。如果深入学习,使用Access的VBA编程语言,几乎可以实现其他编程语言可以实现的所有功能。据统计,在编写数据库程序时,Access要比其他编程工具节省2/3的时间,可见其便捷。1.7 Access 2007、VB、ASP和SQLVB(Vasual Basic)是一种可视化的应用程序开发工具,简单
9、方便,容易入门。用在Access 2007中的VBA语言,从某种意义上说是VB语言的子集,其主要作用是使现有的应用程序自动化。ASP是一种编写网页的语言,在ASP中有一种主要的脚本语言VBScript,能够实现与Access数据库的交互。SQL则是SQL Server数据库的一种查询语言,在Access中也使用此语言进行查询以窗口形式显示表1打开Access选项对话框2选择选择31.8 典型实例:利用模板创建“学生”管理数据库 1打开主操作界面4单击23单击单击5输入单击6双击7窗体报表查询监护人窗体和报表表格单击可更改照片输入数据第第2 2章章 表表AccessAccess的的“仓库仓库”
10、“货架”认识“表”的结构存储数据的架构创建“表”规划“容器”“表”中“字段”的设置 “归类”引用设置“表”的关系“容器”包装设计“表”的外观典型实例:创建“考勤管理系统”的“表”2.1 “货架”认识“表”的结构如果将数据库比作仓库,那么数据库中的“表”就是仓库中的单个货架。货架上按照物品特性和仓储空间,有规律的码垛着各种货物。字段字段属性2.2 存储数据的架构创建表 2.2.1 输入数据直接创建表 123双击直接输入单击单击456单击输入2.2.2 使用“表模板”创建表 选择1单击23设置“表”字段2.2.3 通过“表设计器”创建表1单击“表设计”按钮 2单击“创建”标签34输入字段名称选择数
11、据类型在此可设置字段参数右击“ID”5选择“主键”6新建“部门”字段7单击8单击9输入单击1011创建的“部门表”2.2.4 边学边练:“计件工资管理系统”的表对于一个中小规模的加工厂来说,工人工资多采用底薪加计件工资制,使用此种方法的优点是可以有效的激发员工的积极性,缺点是工资不易管理,容易出现错误,因此建立一个简单灵巧的工资管理系统,是很多企业所关注的。 本书将自始至终、贯穿全文,在“边学边练”中以实例的形式讲述计件工资管理系统的创建。下边我们首先来了解一下在计件工资管理系统中需要创建的表格。 2单击“创建” 设置主键1单击“表设计”按要求输入相应的“字段名称” ,并设置字段的”数据类型“
12、34选中“性别”字段 5在“有效性规则”属性中输入:“男“Or “女”7设置字段大小为2 6创建了“人事表”后,按照相同的操作步骤,创建其他表 按照相同的步骤设置其它字段的“常规”属性。设置完毕后将此对话框关闭,并选择保存为“人事表”后,即可完成此表的创建 82.3 规划“容器”“表”中“字段”的设置 2.3.1 Access 2007中的字段类型 在Access 2007数据库中共有11种可用的数据类型:文本、备注、数字、日期时间、货币、自动编号、是/否、OLE对象、超级链接、附件和查询,它们的作用如表所示。 某种数据具体需要使用什么类型的字段存放,我们主要需要考虑如下几个方面的内容。 1、
13、字段存储的是什么样的数据。如中英文文字可以存储在文本型字段里,却不能存储在数字型字段里。2、要存储数据的大小,即数据需要的存储空间的大小。文本型字段只能存储255个字符,如果您需要存储一篇文章,则可以考虑使用备注(存储65535个字符)型字段。 3、是否需要对数据进行计算以及需要对数据进行何种计算。Access 2007可以对数字型、货币型数据进行求和计算,但对文本型、备注型数据则不能求和。 4、是否需要排序或索引字段。备注、超级链接型及OLE对象型字段均不能使用排序与索引。另外文本型字段中存放的数字,将按字符串性质进行排序,而不是按大小排序,如1,11,120,2,21,210。 5、是否需
14、要在查询或报表中对记录进行分组。备注型、超级链接型及OLE对象型字段无法进行分组。 2.3.2 Access 2007的“字段”属性 在确定了数据类型之后,还应设定字段的属性,才能更准确地确定数据在表中的存储格式。 右击“人事表”,选择“设计视图”命令 12选中“姓名”字段 文本型字段的15个属性 “字段大小”属性的意义为: “字段大小”属性用于限定文本字段的大小和数字型数据的类型。文本型字段的字段大小属性是指文本型数据保存的大小和显示的大小。在默认情况下为50字节。文本型数据的大小范围为0255个字节。数字型的“字段大小”属性是指数字型数据的类型,不同类型的数字型数据的大小范围亦不相同。至于
15、其它字段,这里不再详细叙述。2.3.3 设置“字段”的显示和打印格式 1文字型数据“格式”的设置方法我们以前边创建的“部门表”为例,讲述文字型数据“格式”的设置方法。我们先来看一下设置前和设置后的效果。 设置前 设置后 选中此数据类型12在格式栏中输入:“所在部门是:&蓝色 ”通过这些设置就会实现上边的效果了右击我们前边创建的“部门表”,选择“设计视图”命令,打开此表的设计视图窗口2数字与货币型数据“格式”的设置方法 右击“部门表”,选择“设计视图”命令打开此表的设计视图窗口添加此字段,并将数据类型设置为“数字” 12单击格式旁的下拉箭头,可以选择所要设置的货币格式 这样即设置了货币型数据类型
16、3日期型数据“格式”的设置方法右击“部门表”,选择“设计视图”命令打开此表的设计视图窗口添加此字段,并将数据类型设置为“日期/时间 ” 12单击格式旁的下拉箭头,选择所要设置的“日期/时间”格式 这样即设置了日期数据类型2.3.4 设置字段的输入格式 用户在表格中输入数据时,为了避免错误,有可能需要对输入的内容进行限制,比如会要求在输入“电话号码”时,不能输入字母和汉字,而且位数不能输入错误。为了实现这些功能,我们需要设置字段的“输入掩码”属性。字段的“输入掩码”属性用来要求用户必须按照特定的格式来输入数据。1使用向导设置“输入掩码” 右击“部门表”,选择“设计视图”命令打开此表的设计视图窗口
17、新建“部门电话”字段,并将数据类型设置为“文本” 13选中“输入掩码”文本框 单击打开对话框 按钮继续 24单击输入56单击8单击3次“下一步”按钮 7单击“完成”按钮 产品表的数据输入窗口 点中此处将会见到输入掩码,并可按要求输入数据 2通过直接输入格式符号设置输入掩码使用格式符号自定义“输入掩码”可以更灵活、方便的定义所输入的格式。比如我们可以在“输入掩码”对话框中输入“Password”,这样,用户输入的所有字符就可以被“*”所掩盖。2.3.5 设置字段的默认值如果某个值在某个字段中出现的几率特别高,那么您最好将此数据值设置为此字段的默认值,操作步骤如下。 右击“部门表”,选择“设计视图
18、”命令,打开此表的设计视图窗口选中“录入时间”字段 1输入“Now()”字符 2自动填充的当前日期和时间 2.3.6 设置字段输入的有效性规则 如果我们的表中有一个字段为“性别”,那么在这个字段中,就应当只能输入“男”或“女”,而不能输入其它的字符,这时我们应该怎么设置呢?这时使用字段的“格式”属性已无法实现这个要求了,而必须设置字段的“有效性规则”属性。有效性规则的设置方法如下。选中“性别”字段1右击“人事表”,选择“设计视图”命令打开此表的设计视图窗口在有效性规则中输入:“男” Or “女”2系统出现的提示 在“性别”字段输入了错误的字符 2.3.7 使用“查阅向导”创建“下拉列表”使用查
19、阅向导的最终结果就是在我们的输入表中产生下拉选择列表(如下图所示)。下拉选择列表的使用,可以节省录入数据的时间。表中字段的下拉列表 按图中所示,建立这样一个表,表中数据为空 1选中“所在部门”的数据类型,选择“查阅向导”命令 2单击“下一步”按钮 3选择“部门表” 45单击“下一步”按钮继续 选中 “部门”项 69单击“选中”按钮 7单击“下一步”按钮继续 8保持系统默认,单击“下一步”按钮继续 单击 “下一步”按钮继续 11用鼠标拖拽调整列宽 10单击“完成”按钮 122.3.8 边学边练:为计件工资管理系统添加下拉菜单选择此项后,按照2.3.7节中的描述进行操作就可以了2.4 “归类”引用
20、设置“表”的关系 我们可以使用数据表间的对应列将Access 2007中的数据表关联起来。如下图所示两个表间的对应关系,下边讲述一下表间关系的创建方法。 单击此按钮1单击此按钮2选择表单击34拖动建立表关系5这里可以对表间的关系进行设置,然后单击“确定”按钮即可62.5 “容器”包装设计“表”的外观 2.5.1 隐藏和冻结列数据表打开后,Access 2007会以默认的格式进行显示,此时他所显示的字体大小,列宽和行宽、分割线等并不一定符合我们的要求。为了方便我们的工作,我们不妨对他进行设置。首先我们来看一下“隐藏”和“冻结列”的方法。 1隐藏列右击列标题,选择“隐藏列”命令,即可将此列隐藏 首
21、先打开 “人事表”如果要显示隐藏的列,则右击鼠标,选择“取消隐藏列”命令 1将要显示的列选中,再将此窗口关闭就可以了 22冻结列 如果要将某列冻结,那么右击列标题,选择“冻结列”命令即可 如果要取消冻结列,则选择此“取消对所有列的冻结”命令即可2.5.2 改变字体 切换至“开始”标签页1这里的表格是未设置前的样式,字体为“小五”号、宋体显示 设置字体2按需要设置“字型”、“字号”和颜色等3这是设置后的效果 2.5.3 改变列宽和行高 要改变行高时,在这里直接拖拽就可以了 改变行高后的效果 选择【其他】【列宽】命令1切换至“开始”标签 页2输入新列宽 单击“确定”按钮 342.6 典型实例:创建
22、“考勤管理系统”的“表” 考勤中主要涉及的管理方面有:出勤管理、出差管理、请假管理以及出勤统计管理。本书将设计一个“考勤管理系统”用来对员工的出勤、出差以及请假情况进行统计和管理并将员工出勤情况进行统计,方便企业领导了解员工的工作情况。此实例将贯穿本书。下面我们对“考勤管理系统”数据库的表进行一下了解,该数据库包括:“出差信息”、“出勤情况”、“员工信息”、“请假信息”、“员工出勤”5个表,这5个表之间的关系如下图所示。双击“考勤管理系统”数据库图标 1单击“选项”按钮 2单击34单击单击“创建”标签56单击“表设计”输入字段设置字段属性设置主键789下面我们再来介绍一下“出勤情况”表与“员工
23、信息”表之间关系建立的操作步骤。单击“数据库工具”标签1按住选中“出勤情况”表和“员工信息”表 单击“添加”按钮单击“关系”按钮243单击“关闭”按钮5将“员工信息”表中“员工编号”字段拖动到“出勤情况”表的“员工编号”字段上 1选中“实施参照完整性”复选按钮 2单击“创建”按钮 创建好的表间的关系 3第第3 3章章 “ “查询查询” ”AccessAccess的检索系统的检索系统 就像“堆垛机”“查询”初体验 找出符合条件的数据创建“选择查询” 同时查询多个表中的数据创建“高级查询” 典型实例:创建“考勤管理系统”的查询 3.1 就像“堆垛机”“查询”初体验 3.1.1 查询的概念和种类1查
24、询的概念 此界面与“表”的界面相似,不过它是经过筛选后的一个或多个表的集合 选中已经设计好的查询,双击执行,即可得到一个这样的结果集,也就是用户所要查询的结果。 2查询的种类 在Access 2007中,查询依据其对数据源操作方式及结果的不同分为以下5种类型: (1)选择查询:从数据库的一个或多个表中检索特定的信息,将查询的结果显示在一个数据表上供用户查看或编辑使用的查询被称为选择查询。(2)参数查询:在执行时显示对话框,提示用户输入参数,检索出符合参数要求字段的记录或值的查询被称为参数查询。 (3)交叉表查询:查询时计算数据的总计、平均值、计数或其他类型的总和并重新组织数据结构的查询被称为交
25、叉表查询。 (4)操作查询:在一次操作中更改许多记录的查询称为操作查询。 (5) SQL查询:用户使用SQL语句创建的查询被称为SQL查询。 查询方式不是互相孤立的,而是相辅相成的。联合使用,功能更加强大。 3.1.2 查询和数据表的关系 查询和数据表之间是一对一或一对多的关系,它可以同时对一张或者多张数据表进行简单或复杂的检索操作,从而节省时间,提高工作效率。如下图所示。 3.2 找出符合条件的数据创建“选择查询” 3.2.1 利用向导创建选择查询 1打开第一二章所创建的“计件工资管理系统”数据库 2单击“创建”标签单击“查询向导”34选择“简单查询向导”5单击“确定”按钮6选择“表:人事表
26、”7选择“字段”单击单击8这是“查询”返回的数据 在此可修改标题单击9双击可执行查询3.2.2 使用设计视图创建选择查询 1单击“创建”标签2单击“查询设计” 打开“计件工资管理系统”数据库 3单击“关闭”按钮 6单击“添加”4选择“人事表”单击“关闭”5双击“员工编号”、“姓名”、“性别” 7已添加的字段2在“姓名”的条件单元格内输入“Like “张*”,然后保存退出 1右键单击“人事表”,选择“设计视图”命令 3.2.3 设置查询条件 如果要在“人事表”中查询所有姓“张”的联系人,我们可以执行如下操作 只显示所有姓“张”的联系人的相关信息 3.2.4 使用设计视图创建选择查询 21单击“创
27、建”标签单击“查询设计”在“计件工资管理系统”中,为了方便对工资的统计,我们一共需要创建两个查询,分别为“工资查询”和“加班查询”,下边讲述这两个查询的创建。 3选择“表”单击“添加”按钮45单击“关闭”按钮6897依次双击相应的字段,将它们添加到设计网格中 单击“确定”按钮,完成“工资查询”的创建,使用同样的操作可以创建“加班查询” 选择 “是”按钮来保存对查询的设计 在此处输入查询名称3.3 同时查询多个表中的数据创建“高级查询” 3.3.1 交叉表查询 2单击“查询向导”1单击“创建”标签下面以创建“计件工资管理系统”中的“人事表”的相同“班组”、员工的“平均工资”为例,介绍创建交叉表查
28、询的操作步骤。 5单击“确定”按钮4选择“交叉表查询向导” 选中“表:人事表”6单击“下一步”按钮37选定“班组”字段单击“下一步”按钮单击“下一步”按钮选择“姓名”891011在“函数”列表框选择“平均”项选择“底薪类别”单击“下一步”按钮121314保持系统默认,单击“完成” 按钮完成创建 交叉表查询返回的纪录,行标题为“班组”、“总计底薪类别”和“员工姓名”等 这里是两个“班组”底薪的平均值(由于使用了连接,所以这里显示的数值有差别) 3.3.2 创建参数查询 参数查询是比较动态的,使用它时首先将显示要求用户输入查询条件的对话框,在输入一个量或者常数后,系统会根据输入将查询结果以指定的形
29、式显示出来,如下图所示。 1在弹出的对话框输入参数2双击“参数查询” 这是查询的结果1打开查询“设计视图”3将“工资主表”的“工号”、“件数”、“计件日期”和“工序”字段,“人事表”的“姓名”、“性别”和“班组”字段添加到“设计网格”中 下面以查询“计件工资管理系统”的“工资主表”中“介于两个日期之间的工作量”为例介绍参数查询的创建步骤。 添加“工资主表”和“人事表” 24在供货时间的“条件”单元格内输入参数,然后保存退出3.3.3 操作查询 操作查询用于同时对一个或多个表进行全局数据管理操作,它可以对数据表中原有的数据内容进行编辑,对符合要求的数据进行成批修改。1更新查询更新查询用于供用户添
30、加一些条件来对许多记录中的一个或多个字段进行更新,比如要将“工资主表”中的“件数”全部减1,可以按照以下操作步骤来进行。 操作查询可分为更新查询、追加查询、删除查询和制表查询。1选中“工资主表” 2单击“添加”按钮打开“计件工资管理系统”中“查询”的设计视图。 双击将“计件日期”、“工号”、“件数”和“工序”依次添加到设计网格中 34单击“设计”标签 单击“更新”按钮 在“件数”的“更新到”单元格内输入“件数-1”56此处变为“更新到”栏 选择“是”按钮执行更新查询单击“是”按钮进行更新完成上述操作后,打开“查询”操作窗口,双击打开新建的“更新查询”,我们来看一下执行操作。 122追加查询追加
31、查询可以将一个或多个表中的一组记录追加到另一个或多个表的末尾。设计追加查询的操作如下。 1打开“查询”设计视图,选择“人事表2” 单击“添加”按钮 双击将所有的字段添加到“设计网格”中 235单击“追加”按钮4单击“设计”标签选择“人事表”6单击“确定”按钮7单击“关闭”按钮,保存追加查询即可 设计网格中的“显示”栏变为“追加到”栏,并自动添加相匹配的字段 83删除查询 当需要删除数据库中的某些数据时,可以使用“删除查询”来完成这一操作。 2“双击”添加所有字段到设计网格中 1选择“人事表” 打开“计件工资管理系统”中“查询”的设计视图。 3单击“添加”按钮 4在“性别”的“条件”单元格内输入
32、“性别”男” ”设计网格中的“显示”栏变为“删除”栏,栏内自动添加“Where”语句 单击“关闭”按钮完成“删除查询”的创建 5单击“删除”按钮单击“设计”标签674制表查询 制表查询也就是所说的生成表查询,它可以从一个或者多个表(或者查询)的记录中根据指定的条件筛选出数据并生成一个新表。 2添加“姓名”、“性别”和“班组”三个字段打开“计件工资管理系统”中“查询”的设计视图。 1选择“人事表” 3单击“添加”按钮 单击“设计”标签单击“生成表”45双击我们刚才创建的查询 单击“确定”按钮在此输入生成表的名称“人事精简表” 通过以上步骤就完成了“生成表查询”的创建。其执行步骤如下图所示。 67
33、该表只包含了“姓名”、“性别”和“班组”三个字段的内容 双击“人事精简表”123.3.4 SQL查询 SQL查询是在Access 2007中直接使用SQL语句创建的查询。下面以查询“人事表”中的所有记录为例,来讲述创建SQL查询的操作步骤。 1单击“创建”标签单击“关闭”按钮 2单击“查询设计” 34在空白处输入“SELECT * FROM 人事表;” 单击“关闭”按钮退出并保存在“设计视图”上方空白处右击,选择【SQL视图】命令双击通过SQL语句直接生成的结果集563.3.5 边学边练:在工资管理数据库中创建SQL查询 我们可以为第3.2.4节中创建的查询添加一个字段为“今日所得”,表示此员
34、工今天总共挣了多少钱,这样会比较直观,如下图所示。 可以添加此统计字段 3在“设计视图”上方空白处右击,选择【SQL视图】命令2右击“工资查询”选择“设计视图”命令1打开“计件工资管理系统”数据库4在FROM前面添加“,工资主表.件数*工序工费表.工价 AS 今日所得 ”语句单击“关闭”按钮53.4 典型实例:创建“考勤管理系统”的查询下边我们为“考勤管理系统”创建一个“出差信息”查询,此“查询”能够实现,查询某段时间内的出差信息的功能。其创建步骤如下。 12选择“简单查询向导”43单击“确定”按钮选择“表:出差信息”添加字段设置标题5选择“表:员工信息”6添加字段单击“完成”按钮78为“起始
35、时间”和“结束时间”设置条件9输入查询条件查询结果第第4 4章章 窗体窗体AccessAccess的的“查询界面查询界面” 数据的操作窗口了解窗体 规划操作界面创建窗体安装“设备”使用窗体控件典型实例:创建“考勤管理系统”的窗体4.1 数据的操作窗口了解窗体 4.1.1 窗体简介 在Access 2007中,窗体是数据与用户进行交互的界面,它的外观和一般的窗口一样。窗体是一个组合式的对象,也就是说用户可以根据自己的需要在窗体中增加相应的控件,并定义其外观、行为和位置等。 典型窗体如下图所示。这是一个典型的窗体视图 窗体中的控件可以根据需要添加。控件的使用将在4.3节具体说明 4.1.2 窗体的
36、视图方法 1、单一窗体(纵栏式):顾名思义就是一次只显示一条记录,这也是默认的窗体形式。这种方法简洁,且易于对数据的操作。如果没有特殊的需要,我们一般都采用这种视图方法。其界面如下图所示。 这种视图只显示一条记录,如果想看另外的记录需再翻一页 2、数据表视图:这种视图方法就是将数据以表格的形式表现出来,一般来说窗体中的子窗体是使用这种方法表示的,如下图所示。3、设计视图: 窗体的设计视图如下图所示。在设计视图中,可以编辑窗体中需要显示的任何元素,包括需要显示的文本及其样式、控件的添加和删除及图片的插入等;还可以编辑窗体的页眉和页脚,以及页面的页眉和页脚等。另外,还可以绑定数据源和控件。4、数据
37、透视图:数据透视图是利用图表的形式更形象化的说明数据间的关系,让数据更直观的显现出来,如图所示。可以根据对数据的不同选择,显示不同层次的数据 5、数据透视表:这种方法同数据表有些相似,不过数据透视表是可以运用所选格式和计算方法汇总大量数据的交互式表,如图所示。筛选字段行区域列区域明细区域6.布局视图:布局视图是用于修改窗体的最直观的视图,可用于在Access 2007中对窗体进行几乎所有需要的更改。在布局视图中,窗体实际正在运行,因此,用户看到的数据与它们在窗体视图中的显示外观非常相似,如图所示。4.2.1 自动创建窗体 4.2 规划操作界面创建窗体 12选择“人事表:表”34单击“创建”标签
38、单击“窗体”单击“关闭”按钮6将窗体名称改为“人事表查询窗体” 单击“确定”按钮 单击“是”按钮,保存新创建的窗体57双击“人事表查询窗体” 下边看一下执行效果 在此窗体中,您可对数据库中数据进行浏览、修改以及增加等操作 4.2.2 使用向导创建基于单表的窗体 1单击“其他窗体”2单击“创建”标签 选择“窗体向导”3选择“人事表”4添加所有字段5单击“下一步”按钮选择“两端对齐”单击“下一步”按钮67811单击“完成”按钮 9选择“至点” 1210设置标题单击“下一步”按钮 下边看一下新建窗体的效果界面 通过步骤中的不同选择会出现不同样式的窗体,不过其显示的数据是一样的4.2.3 使用向导创建
39、基于多表的窗体 1打开“窗体向导”对话框 选择“工资主表”,然后将相应字段选入 执行相同的操作将“工序工费”中相应字段选入 单击“下一步”按钮 2345选择“带有子窗体的窗体”8单击“下一步”按钮6选择“通过工序工费表” 保持系统默认,单击“完成”按钮,完成名为“工序工费表”的主窗体以及名为“工资主表子窗体”的子窗体的创建 7在“计件工资管理系统”数据库中,双击“工序工费表”打开“工序工费表”窗体 下边看一下基于多表窗体的效果界面 基于多表窗体的最大优点就在于可以显示多个表的数据并同时对多个表的数据进行更新 4.2.4 创建数据透视图及数据透视表 1选择表2创建数据透视表单击“创建”标签单击“
40、其他窗体”3选择“数据透视表”41选择表2创建数据透视图单击“创建”标签单击“数据透视图”34.2.5 使用设计视图创建窗体单击“创建”标签1打开“计件工资管理系统”数据库23单击“窗体设计”5以同样的方式将记录源中的“姓名”、“性别”、“职务职称”字段添加到窗体上 4选中“员工编号”字段,将其拖入设计主体中 7单击“关闭”按钮后,保存为 “人事表窗体3”68将全部控件选中 单击“排列”标签单击“靠左”按钮9在“计件工资管理系统”数据库中,双击新创建的窗体“人事表窗体3”,打开此窗体 下边看一下使用设计视图创建的基于多表窗体的效果界面。在该窗体中,您可以对这些控件连接的字段进行修改或增添 4.
41、2.6 边学边练:“计件工资管理系统”中窗体的创建在创建“计件工资管理系统”的窗体前,我们先对要创建的窗体进行一个大体的规划,具体如下页图所示。 1“部门调整”窗体的创建在创建“部门调整”窗体前,我们先来看一下它的最终效果,如下图所示。“部门调整”实际上就是对部门表的调整,下边是其创建步骤。这里是部门表的相关记录 3单击“创建”标签12单击“其他窗体”选择“窗体向导”4选择“表:部门表”添加“部门”字段单击“下一步”按钮选择“表格”单击“下一步”按钮56789选择“Access 2007”样式,单击“下一步”按钮 输入“部门调整” 11单击“完成”按钮完成窗体的创建 102“部门调整”窗体的设
42、置通过如上步骤,我们就创建了一个“部门调整”窗体,在导航窗格中,双击此窗体将其打开,将见到如下边左图所示的窗口界面,仔细观察会发现此界面与右图所示的最终界面尚有几点不同。 最终窗体 初步窗体无“记录操作按钮”,多导航条等这三个按钮需要通过向导添加,将在下边详细叙述1双击2单击“其他 ”标签4此时我们需要进行如下调整。 设置选项3设置选项查看窗体效果5去除“最大化”、“最小化”按钮64.3.1 控件组中各按钮的功能 4.3 安装“设备”使用窗体控件一般来说,在窗体中见到的任何对象,如一条线一个矩形亦或图片、图形、单选钮、复选框和命令按钮等等都是控件。用户可以在控件中输入数据和用控件显示数据等。
43、4.3.2 文本框控件的使用 2确定“控件向导”按钮被按下 4单击 “文本框”按钮 1打开窗体设计视图 在设计主体中单击3设置“字体”为“隶书”、“字号”为“20”、“字形”为“粗体”“对齐方式”为“两端对齐” 单击“下一步”按钮 输入文本框的名称 单击“完成”按钮56789双击报表属性按钮 11选择“数据”标签10选择 “人事表”为当前记录源12选择“姓名”13选择“姓名”为当前控件来源单击关闭按钮 14下边看一下文本框实例的效果界面 在该窗体中您可以浏览“人事表”中的“姓名”字段并可以对此进行修改和增加 4.3.3 标签控件的使用 1在窗体设计界面中选择此命令 保存设置后,重新打开,这是刚
44、添加的标签 2单击“标签”按钮添加标签和文字设置属性34关闭窗体54.3.4 组合框及列表框控件的使用 组合框控件像下拉式菜单一样在屏幕上显示列数据。把光标移到所要的选项上然后单击鼠标可完成选择。列表框和组合框十分相似,不过组合框可以输入非列表中的值而列表框不能。从下图中我们可以看出它俩的不同。 列表框 组合框 1确定“控件向导”按下 在设计主体中单击 3单击“组合框” 24单击“下一步”按钮单击“下一步”按钮单击“表:部门表” 5678选择“ID” 和“部门”字段9单击“下一步”按钮单击“完成”按钮,即可打开下边的组合框实例窗口 单击两次“下一步”按钮10在这里我们可以见到下拉列表 4.3.
45、5 命令按钮控件的使用 1打开“人事表查询窗体” 的设计界面 2单击“命令按钮” 3在设计主体中单击 确定“控件向导”被按下45单击“删除记录”项7单击“下一步”按钮6单击“记录操作”项 选择“垃圾桶”810单击“完成”按钮将按钮名称改为“DeleteCMD”在图中单击删除按钮,将删除当前数据 94.3.6 选项组、切换按钮、选项按钮和复选框控件的使用切换按钮、选项按钮和复选框都可以让用户作出某种选择。可是这3个按钮单独使用的几率不大,一般和选项组组合使用(如下图所示)。在“选项组”中的任何控件只能选择一个1确定“控件向导”被按下 4单击“选项组”3在设计界面中单击在第一行中输入“男”,在第二
46、行中输入“女” 单击“下一步”按钮 256单击下拉按钮,选择“男”项 78单击“是,默认选项是”单选按钮 单击“下一步”按钮 单击“选项按钮”单击“下一步”按钮 91012单击“完成”按钮11指定选项组标题为“性别” 这是最终执行效果图4.3.7 Office控件的使用 1单击未绑定按钮 2在视图中单击 3单击“由文件创建”单选按钮 单击“确定”按钮 5单击“浏览”按钮选择建好的Excel文件 4这是最终执行效果图4.3.8 边学边练:“计件工资管理系统”中窗体控件的添加1为“部门调整”窗体添加操作按钮1打开部门调整表设计视图 3拖动这里的边界4选择命令按钮 2在窗体中单击5选择“记录操作”
47、6单击“图片”单选按钮 8选择“添加新记录” 单击“下一步”按钮 单击“转至新对象” 单击“下一步”按钮 7910保持系统默认,单击“完成”按钮,完成此按钮的添加。通过相同的操作可以添加其它命令按钮。 112“系统设置”窗体的创建系统设置窗体打开后的界面如此图所示 1打开窗体视图,并调整好窗体大小 2双击“选项卡”的页,在弹出的设置对话框中,更改选项卡的名称 3添加一“选项卡”控件 右键单击此控件,选择“插入页”命令,给此“选项卡”控件添加一新页 45单击 “矩形框” ,在主窗体上画一个矩型区域 7将此矩型框调整到正好覆盖“选项卡”控件(注意不要覆盖“选项卡”控件的标题和边界) 6设置此矩型框
48、的属性的“背景色”与主窗体相同、特殊效果为“平面”、边框样式为“透明”8单击“子窗体” ,在刚添加的“选项卡”控件上通过向导分别添加几个子窗体 9单击添加的子窗体左上角的属性按钮,打开子窗体的属性设置界面 10对子窗体的属性进一步进行设置11在窗体左上角添加一“组合框”控件,并在弹出的向导中设置其与“部门表”相关联 1213添加两个按钮,这两个按钮无需进行关联,如弹出向导,将其关闭即可 添加一“列表框”控件,并设置其与员工表中的“员工编号”和“姓名”字段相关联 3“工资录入和查询”窗体的设计这是“工资录入和查询”窗体的主操作界面4.4 典型实例:创建“考勤管理系统”的窗体1建立信息录入窗体 1
49、打开“考勤管理系统”数据库后,打开“窗体创建向导”对话框 2选择“表:员工信息” 将表中字段全部选入,单击“完成”按钮3这是刚创建的信息录入窗口7将刚才建好的窗体切换到设计界面 5选中“员工编号”文本框,单击属性对话框中的“数据”标签,将其页面中的“控件来源”设为空。6双击窗体属性按钮用同样的方式将窗体中的“姓名”、“性别”、“部门”、“职位”和“联系电话”文本框的“控件来源”设为空 48设置页眉文字9添加命令按钮单击“子窗体”1011“表:员工信息” 将全部字段选入 单击“下一步”按钮1213在其列表框中选择“无”项 直接单击“完成”按钮完成子窗体的创建 15141618在其“格式”标签页中
50、单击“导航按钮”组合框的下拉按钮,选择“否”项, 17在设计视图中双击“主窗体”的属性按钮,打开属性对话框 选择“数据”标签,在其标签页中单击“允许编辑”组合框的下拉按钮,选择“否”项 2建立出勤情况窗体 1打开一个空白的窗体设计视图,单击文本框控件,在设计视图中添加7个适当大小的“文本框” 2单击“命令”按钮控件,在设计视图中添加3个“命令按钮” 4打开“员工编号”文本框的属性对话框,在该对话框的“其他”标签页中将“名称”改为“员工编号”,以同样的方式更改其它“文本框” 3打开“Command1”的属性对话框,将其“格式”标签页中的“标题”和“其他”标签页中的“名称”改为“出勤统计”,用同样
51、的方法 更改另外两个命令按钮即可完成窗体的设置第第5 5章章 报表报表AccessAccess的的“ “统计系统统计系统” ” 领导要看的东西领导要看的东西什么是什么是“ “报表报表” ” 简易输出简易输出创建创建报表报表 的方法的方法美容增色美容增色报表的附加设置报表的附加设置高级技巧高级技巧创建多列报表和子报表创建多列报表和子报表功成名就功成名就打印报表打印报表报表快照报表快照典型实例:创建典型实例:创建“考勤管理系统考勤管理系统”的报表的报表5.1 领导要看的东西什么是“报表” 报表就是一种组织和显示Access 2007数据库数据的好方法。如下图所示。 “报表页眉”只在整个报表的首部显
52、示打印,一般用来放置公司徽标、报表标题或打印日期 报表“主体”包含了整个报表的所有数据“页面页眉”显示在报表中每页的最上方,一般用来显示列标题等内容 “页面页脚”中的内容在每页最下方显示,主要用来显示页号、制表人员和审核人员等说明信息 “报表页脚”只在报表最后一页的末尾显示,主要用来显示有关的数据统计信息,如总计、平均等5.2 简易输出创建报表的方法5.2.1 自动创建报表 1打开“计件工资管理系统”数据库单击“报表”按钮3单击“创建”标签选中“人事表:表”24该报表的数据来源于数据库的“人事表” 5.2.2 利用向导创建报表 2打开“计件工资管理系统”数据库单击“创建”标签3单击“报表向导”
53、14选中左侧列表框中的“班组”项,并单击选中按钮,将其作为分组标志 7单击“下一步”按钮继续单击“下一步”按钮继续8选择“表:人事表”选定字段569为报表指定标题 “人事报表” 单击“完成”按钮结束人事报表的创建 10单击第一个组合框的下拉按钮,选中“员工编号”项。然后单击该按钮右侧的升序按钮,使其变为降序按钮 11这是创建好的报表 5.2.3 利用设计视图创建报表 1打开“计件工资管理系统”数据库2单击“报表设计” 单击“创建”标签3单击“添加现有字段”按钮选中“部门表”字段列表中的“ID”字段,并将其拖动至工作区主体区段的适当位置 45添加其他字段6添加标签7关闭并保存报表85.2.4 使
54、用空白报表工具创建报表1打开“计件工资管理系统”数据库单击“创建”标签2单击“空报表”3添加字段45单击“格式”标签单击“标题”按钮6关闭并保存报表修改标题文字785.2.5 边学边练:创建“计件工资管理系统”的报表1打开“计件工资管理系统”数据库,然后打开“报表向导” 选择“表:人事表”项,将所有字段选中2连续单击三次“下一步”按钮,进入设置“布局”对话框34选择“纵栏表”单选按钮 单击两次“下一步”按钮 5设置报表标题为“打印个人档案” 单击“完成”按钮后完成此报表的创建 675.3 美容增色报表的附加设置5.3.1 节的操作 1打开“计件工资管理系统”数据库,切换至“创建”标签页单击“报
55、表设计”23在工作区内,单击鼠标右键,弹出一个属性菜单,选择“报表页眉/页脚”命令,给报表添加页眉和页脚 5.3.2 插入时间和页码 1打开“计件工资管理系统”数据库,切换至“创建”标签页,单击“报表设计”按钮进入设计视图工作区在标签框中输入“当前时间”,在文本框中输入“=now()”。用同样的方式创建另一个文本框 3添加“标签”24通过上述步骤,我们完成了在报表中插入当前时间和页面页码的操作。用户会注意到在导航窗格中多出一个“报表1”项。双击“报表1”项,打开添加了当前时间和页面页码的报表 这里显示当前的时间和页码 5.3.3 排序和分组操作 1打开“计件工资管理系统”数据库右击“人事报表”
56、项,选择“设计视图”命令2单击“格式”标签3单击“分组和排序”按钮4单击“更多”5“班组”字段是原来的分组字段,如果要取消其分组,将“有页眉节”选为“无页眉节”就可以了 65.3.4 在报表中使用汇总字段 打开“计件工资管理系统”后,打开新建报表向导 12选择“查询:工资查询”项并添加相应字段单击“下一步”按钮3单击“下一步”按钮选择”纵栏表”45单击“下一步”按钮6指定标题7单击“完成”按钮89右击“每日工资报表”项,选择“报表页眉/页脚”命令给报表页脚添加文本框,在标签框中输入“合计工作量”,在文本框中输入“=sum(今日所得)” 10用户可以发现在此报表中,“工资查询”中每一条记录中的“
57、今日所得”相加后,结果显示在报表页脚处的文本框中 5.3.5 插入图片 1打开“计件工资管理系统”数据库,右击“人事报表”项,选择“设计视图”命令,打开“人事报表”的设计视图窗口 单击图像按钮,然后在工作区的“班组页眉”节的空白处单击,弹出插入图片对话框 23选择含有图片文件的文件夹,选择一个图片文件,单击“确定”按钮,回到“设计视图”界面,此时您可以对图片框的大小进行调节,然后关闭设计视图,系统提示保存该报表,单击“是”按钮 通过上述步骤,我们创建了含有图片的报表。双击“图片报表”项,打开报表。可以发现在此报表中包含了我们选中的那张图片 5.3.6 边学边练:优化工资报表 2打开“本月工资统
58、计”的设计视图,在“页面页眉”节中添加一显示为“工资合计:”的标签控件,然后在“主体”节中,添加一显示为“员工签字:”的字段。 在报表页眉中添加一文本框控件,并将此控件的标签控件删除,将文本框的名称命名为“月”,1在“主体”节中添加一“文本框控件”,同样将其附带的标签控件删除,并命名为“工资合计”34打开“打印个人档案”的设计视图,在其“报表页眉”节中添加一作为企业标志的图片 添加一文本框控件(将附带的标签控件删除),然后调整原来的标签文字,最后关闭保存即可 55.4 高级技巧创建多列报表和子报表 5.4.1 创建多列报表 1打开“计件工资管理系统”数据库,右击“每日工资报表”,选择“设计视图
59、”命令单击“页面设置”标签2单击“页面设置”按钮3切换至“列”标签页。在“网格设置”栏下的“列数”框中键入“2”,在“列尺寸”栏下的“宽度”框中键入“9cm”,单击“确定”按钮,完成多列报表的创建 4报表的打印效果5.4.2 创建子报表 1确保“控件向导”按钮是按下的,单击“子窗体/子报表”按钮,在“主体”节中单击鼠标。弹出“子报表向导”的选择子报表数据来源对话框 打开“计件工资管理系统”数据库,在“每日工资报表”项上单击鼠标右键,选择“设计视图”命令,打开“每日工资报表”的设计视图 23选择“使用现有的表或查询”单选钮 单击“下一步”按钮45在“表/查询”下拉列表中选择“表:工资主表”项,单
60、击“全选”按钮,将所有字段选中 单击“下一步”按钮68保持“从列表中选择”单选按钮的选中状态,在下边列表中选中“对 工资查询 中的每个记录用 工号 显示 工资主表”项 名称更改为“工作量副表” 7单击“下一步”按钮单击“完成”按钮,完成子报表的创建 910这是效果界面,报表中包含了“子报表”客户信息报表 5.5 功成名就打印报表 5.5.1 报表的页面设置 1打开“每日工资报表”的页面设置对话框3选中“打印选项”标签,切换至“打印选项”标签页,将上下左右边距都设置为“15”毫米 选择“页”标签,切换至“页”标签页 2单击“横向”单选按钮,将报表设置为横向打印。单击“确定”按钮,完成页面设置,下
61、边就可以进行打印了45.5.2 报表的打印 1选择数据库主操作界面的【打印】【打印】命令,打开“打印”对话框保持系统默认设置,单击“确定”按钮,即可将报表打印出来 25.5.3 边学边练:打印“计件工资管理系统”的工资报表1打开“计件工资管理系统”数据库后,打开窗体设计视图 单击“按钮”控件,然后在窗体上拖动,打开“按钮向导”对话框 23在“类别”列表框中选择“报表操作”,然后在“操作”列表框中选择“打印报表”项 单击“下一步”按钮 4此处选择“本月工资统计”报表 单击“下一步”按钮 56选择“文本”,输入文字7单击“下一步”按钮8输入按钮名称910单击“完成”按钮按类似的操作添加其他命令按钮
62、11如果打印出来的报表显示不正常,此时应该先打开报表,然后打开“页面设置”对话框,根据需要进行调整就可以了 这是创建完成的“工资统计和打印”窗口5.6 报表快照 1打开“计件工资管理系统”数据库,切换至“外部数据”标签页2单击“其他”3选择“Snapshot Viewer”在此可设置其名称单击“浏览”按钮可选择保存位置3单击“确定”按钮5.7 典型实例:创建“考勤管理系统”的报表1打开“考勤管理系统”数据库,打开新建报表创建向导 将“请假信息”表的后四个字段选到右侧2将“员工信息”表的除了第一个字段的所有字段选到右侧,单击“下一步”按钮继续 34选中“通过请假信息”项(表示以请假信息表为基础表
63、) 保持系统默认,单击“完成”按钮,完成报表的创建 5单击“下一步”按钮 6报表创建完成后,在导航窗格中双击“请假信息”项,可以打开我们刚才创建的报表,其操作界面如图所示,在此界面中,我们可以对员工的请假信息一览无遗 第第6 6章章 宏宏完善数据库的工具完善数据库的工具 “全自动洗衣机”什么是宏“插上电源”使用宏 “开机运行”宏的常用操作 故障检修宏的错误与调试 典型实例:在考勤管理系统中使用宏添加快捷键6.1 “全自动洗衣机”什么是宏 6.1.1 新建宏 Access 2007数据库中的宏用来自动完成某些特定的任务。它是由一种或多种操作组成的集合。其中每种操作都能实现一个特定的功能。例如,打
64、开窗体或报表等。 用户可以通过创建宏来自动执行某一项重复的或者十分复杂的任务。为了了解什么是“宏”,我们先来新建一个“宏”,并查看一下它的结构。 1打开“计件工资管理系统”数据库,单击“创建”标签2单击“操作”列下第一行的下拉按钮,选择“OpenReport”项在“操作参数”栏的“报表名称”下拉列表中选择“本月工资统计”项,其余操作参数保持系统默认即可4用同样的方法,在“操作”列的第二行、第三行分别选择“OpenReport”,并将它们的“报表名称”操作参数分别选为“下月工资统计”和“打印员工清单”报表 5选择“宏”命令 3在“消息”参数中输入“本月、上月工资和员工清单已打印”。在“类型”参数
65、下拉列表框中选择“信息”项。在“标题”参数中输入“报表已打印”,其它参数保持系统默认即可 8单击“宏”设计视图“操作”列下第四行的下拉按钮,选择“MsgBox”项单击关闭按钮,将宏保存为“打印报表宏”676.1.2 宏的基本结构 宏的设计视图宏单列表,用于设置宏的操作 “宏”设计所使用的按钮 在默认情况下,宏单列表由三列组成:“操作”列、“参数”列和“注释”列操作参数栏,用于设置宏操作命令的参数,当用户选定具体的操作命令,该操作命令的参数才会显示出来,供用户设置 6.2 “插上电源”使用宏 6.2.1 宏的调用 要想让宏真正起作用,必须将宏与数据库中的对象或控件建立起联系。用户通过操作这些对象
66、或控件,调用宏实现特定的功能。 1右击该命令按钮控件,选择“属性”命令2创建一个窗体,在此窗体中只有一个按钮,并将该命令按钮的标题改为“批量打印报表”3单击“事件”标签,切换至“事件”标签页 单击“单击”下拉文本框中的下拉按钮,选择“打印报表宏”项 4单击“关闭”按钮,关闭并保存窗体56双击“批量打印报表”项打开窗体 单击“批量打印报表”命令按钮,就会运行“打印报表宏”76.2.2 执行条件宏操作 1打开“宏”的设计视图 2单击“条件”按钮单击条件列的第一行,输入“Forms!当日工资查询!今日所得100” 单击“操作”列下第一行的下拉按钮,选择“Beep”项,然后关闭并保存此“条件宏” 34
67、5单击“事件”标签,切换至“事件“标签页。单击“成为当前”下拉文本框中的下拉按钮,选择“条件宏”项 7将“当日工资查询”窗口按“设计视图”方式打开,双击窗体属性按钮,打开窗体属性窗口关闭窗口,并保存6我们来看一下运行结果,打开“当日工资所得”窗体,单击“下一个”按钮浏览记录,当“今日所得”大于100时,喇叭会发出提示音 6.2.3 宏组操作 1打开“计件工资管理系统”数据库,打开“宏”的设计视图2单击宏名按钮单击“宏名”列第一行,输入“关闭当前”单击“操作”列下第一行的下拉按钮,选择“Close”项 用同样的方法,在第三行的“宏名”列中输入“关闭数据库”,在“操作”列选择“Close”项,在第
68、四行的“操作“列选择“quit”项。 345关闭并保存宏 67将“批量打印报表”窗体在“设计视图”中打开,在该窗体上添加两个命令按钮控件,并将这两个命令按钮的标题分别改为“关闭窗口”和“关闭数据库”8右键单击“关闭窗口”命令按钮控件,选择“属性”命令 单击“事件”标签,单击“事件”标签页的“单击”下拉文本框的下拉按钮,选择“批量宏.关闭当前”项9用同样的方法,为“关闭数据库”按钮添加关联宏10运行“批量打印报表” 窗体,单击相应的按钮即可调用宏组,实现关闭窗体和关闭数据库的宏操作 116.3 “开机运行”宏的常用操作 6.3.1 启动和关闭Access对象 1打开“计件工资管理系统” 的“宏”
69、的设计视图2单击宏名按钮,单击“宏名”列的第一行,输入“打开窗体”单击“操作”列中第一行的下拉按钮,选择“OpenForm”项在操作参数栏的“窗体名称”下拉列表框中选择“批量打印报表”项。其余参数默认即可 3用同样的方法,在“宏名”列的第三行输入“关闭窗体”,在“操作”列的第三行选择“Close”项,并关闭保存窗体456在“打开窗体”命令按钮控件上单击右键,选择“属性”命令 打开窗体的设计视图,添加两个命令按钮控件,分别将其标题更改为“打开窗体”和“关闭窗口” 切换至“事件”标签页。单击下拉文本框中的下拉按钮,选中“主窗体.打开窗体”项 7用同样的方法,在“关闭窗体”按钮的“单击”事件中选中“
70、主窗体. 关闭窗体”项,并关闭窗口保存设置89运行“主窗体” ,单击该窗体中“打开窗体”命令按钮,就可以通过调用“打开窗体”宏来启动“批量打印报表”窗体,单击“关闭窗体”命令按钮,就可以通过调用“关闭窗体”宏来关闭“主窗体”这是打开的窗体 6.3.2 查找记录 1打开“计件工资管理系统”数据库,用鼠标右击“批量宏”项,选择“设计视图”命令,进入宏组“批量宏”的设计视图 2单击“宏名”列的第六行,输入“查找”。单击“操作”列第六行的下拉按钮,选择“GoToControl”项。同时在操作参数的“控件名称”的文本框内输入“姓名” 用同样的方法在“宏名”列的第九行输入“查找下一个”,在“操作“列的第九
71、行选择“GoToControl”项,在其“控件名称”参数文本框中输入“姓名”。在“操作”列的第十行选择“FindNext”项,然后关闭并保存设置3单击“操作”列第七行的下拉按钮,选择“FindRecord”项,在操作参数的“查找内容“的文本框中输入“=Forms!当日工资查询!按姓名查询” 45在导航窗格中用鼠标右击“当日工资查询”项,选择“设计视图”命令打开“当日工资查询”的设计视图 7右击该文本框,选择“属性”命令,弹出文本框控件属性对话框6单击文本框按钮,在“主体”节按住鼠标左键拖动形成大小适合的文本框,在其标签框中输入“请输入姓名”切换至“其他”标签页,在“名称”文本框中输入“按姓名查
72、询”,单击关闭按钮,回到“窗体”的设计视图 89用鼠标右击该命令按钮,选择“属性”命令,弹出命令控件属性窗口10单击命令按钮,在“主体”节的适当位置单击鼠标左键添加命令按钮控件,并将其标题更改为“查找”切换至“事件”标签页。单击“单击”下拉文本框的下拉按钮,选择“批量宏.查找”项。单击关闭按钮,返回窗体设计视图 1112用与前边相同的操作方法添加另一个标题为“查找下一个”的命令按钮,并在其“单击”事件后的下拉文本框中选择“批量宏.查找下一个” 13单击设计视图的“关闭”按钮,弹出“是否保存”对话框,单击“是”按钮,完成“查找记录”宏操作 15在“请输入姓名”文本框中输入要查询的员工姓名,如输入
73、“张莉”。然后单击“查找”命令按钮,系统会自动找到符合“查询”文本框中内容的第一条记录,在窗体上显示出来 14双击“当日工资查询”项,打开“当日工资查询”6.3.3 窗体菜单操作 1打开“计件工资管理系统”单击“创建”标签2单击“宏”按钮3单击宏名按钮,单击“宏名”列第一行,输入“打开窗体“。单击“操作”列第一行的下拉按钮,选择“OpenForm”项。在操作参数栏的“窗体名称”下拉列表框中选择“当日工资查询”项 用同样的方法,在“宏名”列的第二行输入“打印报表”,在“操作”列的第二行选择“OpenReport”项。在操作参数栏的“报表名称”下拉列表框中选择“每日工资报表”项 在“宏名”列的第三
74、行输入“退出”,在“操作”列的第三行选择“Close”项。单击关闭按钮,保存文件“宏”组4567创建一个名为“编辑”的菜单宏组,单击“宏名”列第一行,输入“打开表”,单击下拉按钮,选择“OpenQuery”项,在“查询名称”参数的下拉列表框中选择“人事表”项。然后保存为“编辑”宏 打开一个设计视图,单击“操作“列的第一行的下拉按钮,选择“AddMenu”项,在“菜单名称”参数的文本框中输入“文件”,在“菜单宏名称”参数的下拉列表框中选择“文件”,在“状态栏文字”参数中输入“文件”。用相同的方式在“操作”列的第二行选择“AddMenu”项。将操作命令的三个操作参数分别输入或选择“编辑”。单击关闭
75、按钮,保存为“菜单”宏 810双击窗体属性按钮,弹出窗体属性对话框打开“主窗体”的设计视图 9切换至“其他”标签页,在菜单栏的文本框中输入“菜单”11将窗体关闭并保存1212在该窗体的上方出现了“加载项”标签。切换至“加载项”标签页可以看到创建的“菜单栏”,选择“文件”“打开窗体”命令,就会打开“当日工资查询”窗体11双击“主窗体”项,打开“主窗体”6.4 “故障检修”宏的错误与调试 6.4.1 宏的语法错误与调试 宏的语法错误在创建宏时发生,当语法错误发生时,系统会给出错误提示 系统的提示信息,往往指出发生了什么宏错误 6.4.2 宏的运行错误与调试 操作失败的宏名 这是出现宏错误的提示对话
76、框操作失败宏的操作名称 操作失败宏的参数 6.4.3 宏的逻辑错误与调试 3保证该单步按钮是按下的 1打开“打印报表宏”的设计视图 单击“运行”按钮,弹出单步执行宏对话框 2单击“单步执行”按钮,一步一步的执行每一个宏操作,直至宏结束 46.5 典型实例:在考勤管理系统中使用“宏”添加快捷键 1新建一个“宏”,在“操作列”的第一行选择“MsgBox”命令,在下边“消息”文本框中输入“欢迎使用东方考勤管理系统1.01版!”接着输入“制作:东方科技”最后输入“联系电话:0532-85979041” 2输入标题“考勤管理”,关闭窗口并保存为名字为“AutoExec”的宏 3关闭窗口并保存为名字为“A
77、utoKeys”的宏 4打开“新建宏”窗口,并将“宏名”栏调出,如图中所示,分别输入宏名“1”和“F2”,并在操作列中选择“OpenForm”命令,再在下边的操作参数中,选择打开的窗口就可以了 完成上述操作后,将数据库关闭,重新打开,就可以看到欢迎界面了 第第7 7章章 学习使用学习使用VBA VBA “超级货架超级货架”什么是什么是VBAVBA “内部结构内部结构”VBAVBA程序的基本语法与书写格式程序的基本语法与书写格式 “增加内涵增加内涵”功能模块的创建功能模块的创建 “兢兢业业兢兢业业” VBAVBA程序的调试程序的调试 典型实例:给典型实例:给“ “考勤管理系统考勤管理系统” ”添
78、加功能代码添加功能代码 7.1 “超级货架”什么是VBA VBA(Visual Basic for Application)是Microsoft Office系列的内置编程语言,其功能十分强大。在Access 2007中,VBA的功能是通过模块来实现的。事实上,在Access 2007中,程序设计的核心工作就是编写模块和事件过程。 如下图所示为Access 2007中VBA程序的编写界面。 打开此窗口的方法为在“创建”选项卡中单击“宏”下拉按钮,在打开的列表中选择“模块”项功能模块的事件过程(不同的功能模块,具有不同的事件过程,实际上这里就是所谓的程序源代码) 功能模块属性窗格7.2 “内部结
79、构”VBA程序的基本语法与书写格式7.2.1 变量和常量 在任何编程语言中,都要用到变量和常量,它们都是用来存储数据的。变量存储的是经常需要变动的数据,常量储存的是不用改变的数据(或对象)。 1变量 变量在引用之前必须被声明,声明一个变量就是事先将变量的有关信息告诉程序,声明变量要使用Dim语句,其语法格式为: Dim Str1 As String 声明一个名为Str1的字符串变量Str1=Hello 给变量赋值Str1=Goodbye 改变变量的值Dim 变量名As 类型以上语句中的“As 类型”子句是可选的。如果选择了该子句,就可以定义变量的数据类型或对象类型。例如以下语句:2常量 在VB
80、A中,声明常量的语法格式为: Const 常量名 As 类型表达式在这个表达式中,“常量名”的命名规则同变量一样,语句中的“表达式”是由数值常量和字符串常量以及运算符组成的。例如: Public Const PI=3.1415926声明一个在整个程序中都能使用的常量PI 7.2.2 流程控制语句 程序员最基本和最重要的工作就是告诉计算机何时要做出什么样的动作。就像一个交通警察指挥大量的车辆和行人何时该走、何时该停、该向哪边走一样。 本节主要介绍If语句、Select Case语句、Do.Loop语句、For.Next语句、GoTo 语句以及With语句等流程控制语句,下面我们分开详细介绍。 1
81、If 语句 If语句是我们最常用的一种分支语句。它符合人们通常的语言习惯和思维习惯。比如if(如果)绿灯亮是真,then(那么)车就可以通行,else(否则)车辆要等待行人通过。 If语句有三种语法形式。 1)最简单的形式if then 2)带有else的形式if thenelseend ifif thenelseif thenelse end if3)带有多重条件的形式2Select Case语句 根据表达式的值,来决定执行多组语句中的哪一组,这就是Select Case语句。它的语法如下: Select Case 表达式 Case 表达式列表1 语句陈述1 Case 表达式列表2 语句陈述
82、2. . Case 表达式列表n 语句陈述nEnd Select下面的实例可以使我们进一步了解Select Case语句的用法。 Dim Score As Integer Select Case Score Case Is = 90 MsgBox You got an A on the test. Case 80 To 89 MsgBox You got a B on the test. Case 60 To 79 MsgBox You got a C on the test. Case Else MsgBox You failed. End Select在此例子中,Case语句按照先后顺序进
83、行比较,首先执行与第一个Case条件相匹配的代码,若不存在匹配的条件,则执行Case Else语句,然后程序将执行End Select语句后面的代码。 3DoLoop语句 用Do.Loop语句可以定义要多次执行的语句块。我们也可以定义一个条件,当这个条件为假时,就结束这个循环。Do.Loop语句有以下两种形式。 第1种:DoWhile|UntilExit Do Loop第2种:Do Exit Do LoopWhile|Until 上面格式中,是用来检查真(非零)或假(零或Null)的一个比较谓词或表达式。While子句和Until子句的作用正好相反。 如果指定了一个While子句,则当是真,就
84、继续执行。如果指定了Until子句,则当为真时,循环执行结束。 4ForNext语句 按照指定次数来重复执行同一组语句,这就是For.Next 语句。 在事先不知道循环需要执行多少次时,应该使用Do循环。而事先知道要执行多少次时,最好使用For.Next语句。 ForNext语句的语法格式为: For 循环控制变量=初值 To 终值 Step 步长 循环语句Next其中,“Step 步长”可以省略,省略时步长为1。循环控制变量可以为整型、长整型、实型以及字符串;但最常用的还是整型和长整型。 在循环中可以通过Exit For跳出循环体,下面的例子说明了ForNext语句的使用方法: For i=
85、1 To 100 Step 2 Score=Score+10Next上边语句的意义是:将初值赋予循环控制变量,即循环控制变量的值从1开始,在执行完一次循环体后,将循环控制变量加上步长2,当i的值大于100时,跳出循环。是一个逻辑表达式,if语句通过检查的真或假来进行语句判断。 比如,若为True(真),则执行紧接在关键字Then后面的一条或多条语句。 若为False(假),则无论接下来是什么语句,程序都检查下一个Else或执行Else关键字后面的语句。 6With语句 在引用对象的时候,我们通常会感到冗长的对象限定,繁琐而又累赘。如果你喜欢简单,那么用With可以简化代码中对复杂对象的引用。
86、可以用With语句建立一个“基本”对象,然后用一个速记符号来引用这个对象上的对象、集合、属性或方法。 With End With例如,下面的代码来自一个Access窗体,它设置了一个组件框控件的“可见性”属性,并调用了该组件框的两个方法。With Me!cboAuthorSearchList.Visible=True设置为可见.Dropdown点击下拉菜单End With7.2.3 过程与函数 简单地讲,过程和函数就是指能够执行特定功能的语句块,都是为编写程序而服务的。但是它们之间是有区别的。 1过程 过程是VBA代码的一个单元,它包括一系列用于执行某个任务或是进行某种计算的语句。过程只执行一
87、个或多个操作,没有返回值。比如下面就是一个过程的例子。Sub cmdSmallFont_Click() With Selection.Font .Name=Arial .Size=16 End WithEnd Sub上面列出的代码就是一个简单的过程。实际上在With下的所有操作,默认访问的都是cmdSmallFont对象通常用Sub声明一个新的过程,其语法格式如下: Private|Public|FriendStaticSub name(arglist)statementsEnd Sub各项的意义请参考书中表格7-1。 2函数 函数其实也是过程,不过它是一种特殊的、能够返回具体值的过程,返回的
88、值通常是计算的结果或测试的结果,能够在表达式中使用。用Function语句可以声明一个新函数。其语法形式如下: Public | Private | FriendStatic Function name (arglist) As type statements name=expression Exit FunctionEnd Function各项的意义请参考书中表格7-27.2.4 注释语句 注释语句就是穿插在程序代码中并对代码的意义和功能进行说明的语句,它不参与程序的运行。 在VBA程序中,添加注释可以通过两种方式来实现:一是使用Rem语句,二是使用“”符号。 Dim Mystr1,Myst
89、r2Mystr1=”Welcome” :Rem为Mystr1赋值。Mystr2=”Goodbye” 为Mystr2赋值。这也是一条注释,无需使用冒号。 “Rem注释”在语句之后要用冒号隔开。7.2.5 语句的连写和换行 Dim MyNO As String MyNo=“2002091229”可以写成下面的一行: Dim MyNo As String:MyNo=“2002091229”一般而言,程序语句都是一句一行,但是有些时候可能需要在一行中连写几句代码。这时需要用冒号“:”来分开这些不同用途的语句。例如: 另外,还有一种情况在编程中经常遇到,那就是程序代码过长,虽然一行能够写完。但是书写起来
90、不方便,看上去也不美观,希望将这句代码分开写成几行。这时要用到空格加下划线“ _”,比如下面的例子。Public Const Date=#1/1/2000#,Author=Nancy, _Tel=62774059空格加下划线(“ _”)被称为续行号,它可以把语句分成两行或多行,用于解决程序代码中语句过长的问题。 7.3 “增加内涵”功能模块的创建 7.3.1 模块简介 模块作为Access数据库中的一个重要对象,它是将VBA声明、表达式和程序作为一个单元进行保存的集合。 模块由一个通用声明部分以及一个或多个子程序或函数组成的。模块的通用声明部分用来对要在模块中或模块之间使用的变量、常量、自定义
91、数据类型以及模块级的Option语句进行声明。其它部分为子程序或函数部分,具体如下图所示。这是多功能模块(写在窗体的模块就是窗体操作模块,写在报表里边的就是报表模块) 模块的声明部分 模块里边的函数和代码 7.3.2 创建具有密码验证的主窗体模块 1打开“计件工资管理系统”数据库,打开新建“窗体”的设计视图 单击组合框按钮,将鼠标光标移动到要添加组合框的位置单击鼠标左键,添加一个组合框23将组合框的标签修改为“请选择要打开的表格”。然后双击组合框,打开组合框的“属性”窗口单击“数据”标签,在“行来源类型”下拉列表中选择“值列表”项在“行来源”中输入几个已经创建好的窗体的名称:“人事表”;“加班
92、表”;“请假表”456在组合框的下面添加两个命令按钮,并更名为“打开”和“关闭”选中“打开”按钮,然后单击代码按钮,打开该窗体的代码编辑窗口 79在事件列表中选择“Click”项 在对象选择下拉列表中选择“Command2”项 为“打开”按钮的单击事件输入代码 81012在事件列表中选择“Click”项 在对象选择下拉列表中选择“Command3”项 为“关闭”按钮的单击事件输入代码 111315在对象列表中选择“Form”,在事件过程列表中选择“Load”事件 为Load事件输入代码 1416双击打开“密码窗体”,将首先弹出要求输入密码的窗口,输入密码,单击“确定”按钮单击组合框的下拉按钮,
93、从下拉列表中选择一个窗体名称(这里选择“人事表”)后,单击“打开”按钮即可打开相应的表格了 177.3.3 创建查询窗体模块 1打开“计件工资管理系统”数据库,打开新建窗体的“设计视图” 2创建一个命令按钮,将其标题更改为“查询” 添加一个文本框,将其标签的标题更改为“请输入员工编号:”重复相同的操作创建另外一个标签为“返回的员工姓名:”的文本框 34创建一个函数Search,编写如下代码 在对象列表中选择“Command4”,在事件过程列表中选择“Click”事件,为“查询”按钮(Command4)的单击(Click)事件编写“Text2.Value = Search(Text0.Value
94、, ”PrimaryKey“, ”人事表“)”代码56通过以上步骤我们就完成了函数的创建和调用,双击打开“查询员工姓名”窗体,执行的效果如图所示 7.3.4 边学边练:使用VBA增加“计件工资管理系统”的功能我们这里主要需要添加在“系统设置”窗口实现“人事调整”功能的代码。“工资录入和查询”、“加班录入和查询”和“请假录入和查询” 在这三个窗体中都需要添加代码来实现各自的功能。 需要在“本月工资统计”和“上月工资统计”报表中添加代码实现动态打印报表。 1、给“系统设置”窗体添加代码 这是“系统设置”窗体的操作界面 我们首先需要实现的功能是:在下拉标签中进行选择时,员工编号列表框和右侧的“员工列
95、表”同时跟着改变 2添加当单击“打印个人档案”按钮时应执行的操作添加当选择下拉列表时,应执行的操作 添加当选择列表项时,应执行的操作 135添加错误提示窗口设置代码 添加用于自动添加班组操作的代码 添加“同步更新操作” 函数,完成代码的添加 46调用更新过程72、给“录入和查询”窗体添加代码 在此窗体我们主要应实现,当输入或选择了员工编号后,在姓名栏中自动显示出此人的姓名,然后当选择用户或添加记录时,应在下边员工列表中显示其当天的工作记录,以及合计的工资数 1另外需要定义两个函数“chaxun”和“chaxun2” (至于代码请到书中查询),并在此处进行调用,然后保存就可以了对“件数”文本框的
96、限制操作,即让其只能输入数字 23、给“工资统计和打印”报表添加代码 打开“本月工资统计”的设计视图,添加三个标签控件,分别位于“报表页眉”、“页面页眉”和“主体”节,其中位于“报表页面”的节我们将会在代码中动态更新其内容,所也我们这里将其命名为“月”在“主体”节中,添加一个文本框“工资合计”,此文本框用于显示最后的工资统计记录 21这是窗体的最终执行效果,关于报表代码,由于代码较多,我们这里不再列举,请大家到正文中查询和分析7.4 “兢兢业业”VBA程序的调试 1、调试工具栏及功能 简单地讲,“调试”就是查找错误并对错误进行排除的过程。以下我们从调试工具栏及功能、设置断点、跟踪和设置监视点等
97、方面对VBA程序调试进行介绍。 当您对程序进行调试时,可以使用VBA的“调试”工具栏,它提供了一些非常实用的工具。打开“调试”工具栏的方法为: 选择【视图】【工具栏】【调试】命令,即可调出“调试”工具栏工具栏中各按钮的功能可在正文中查询2、设置断点直接在要设置断点的位置单击左边的断点设定区,如图所示。当您再次单击该处时,断点的设定将被取消也可以将插入点移到要设置断点的位置,然后打开“调试”菜单,选择“切换断点”命令,或者单击“调试”工具栏中的按钮来设置断点 运行到此处,程序暂停 将鼠标光标移动到变量处即可查看变量的值3、跟踪 1在中断点程序停止执行 单击逐语句按钮执行下一句 24、设置监视点
98、1打开一个模块编辑窗口,选择主菜单的【调试】【添加监视】命令,弹出“添加监视”对话框 3在“监视类型”列表中选择“当监视值改变时中断”。单击“确定”按钮,完成监视的添加 在“表达式”文本框中输入要监视的表达式或变量(必须是代码中存在的变量或表达式,这里输入“panduan1”,下边可选择“变量”所在的“过程”和“模块”,通常保持系统默认即可) 2监视点设定好以后,运行程序,在“监视窗口”中您可以查看程序运行的结果 程序运行过程中,当监视的值发生变化时,程序中断 7.5 典型实例:给“考勤管理系统”添加功能代码 1打开“信息录入”窗体的设计界面后,单击数据库工具栏的代码按钮打开VB程序编写窗口
99、在“代码编辑”窗口添加代码23选择“通用”下拉列表中的“添加记录”项,在其click事件中添加代码(代码请到书中查询), 此段代码实现添加记录的操作。4在“代码编辑”窗口的“通用”下拉列表中选择“出勤统计”项,在其click事件中添加代码(代码请到书中查询), 此段代码对出勤信息进行统计。 5下面为“添加记录”和“退出窗体”命令按钮添加代码。在“代码编辑”窗口的“通用”下拉列表中选择“添加记录”项,在其click事件中添加书中代码。 第第8 8章章 “保密保密”、“数据共享数据共享”和和“界面界面定制定制”检测隐患检测隐患数据分析数据分析“保密保密”数据库安全数据库安全“节省时间节省时间”导导
100、入和链接数据及导出数据入和链接数据及导出数据 “高级境界高级境界”数据库实用工具数据库实用工具 8.1 “检测隐患”数据分析 我们可能因为经验的不足而使数据库的设计不完善。这时就需要对数据库进行优化。 打开“计件工资管理系统”数据库,切换至“数据库工具”标签页,单击“分析性能”按钮1选择”全部对象类型”标签,单击“全选”按钮,将“计件工资管理系统”所有对象选中,然后单击“确定”按钮开始分析 2在分析结果列表框中单击 表“人事表”:向字段“班组”中加入索引项,单击“优化”按钮对该分析结果进行优化3以同样的方式可以将其它带“叹号”标志的项进行优化,带“灯泡”标志的项也可根据需要进行优化,最后单击“
101、关闭”按钮,完成对“计件工资管理系统”的优化 48.2 “保密”数据库安全8.2.1 设置数据库密码 单击打开按钮 ,在打开的菜单中选择“打开”命令打开“打开”对话框1选择“测试数据库”文件 2单击“打开”按钮上的“下拉”按钮,在弹出的下拉列表中选择“以独占的方式打开”命令 3单击“数据库工具”标签4在弹出的“设置数据库密码”对话框中输入密码并输入与此相同的验证码,单击“确定”按钮完成对“计件工资管理系统”数据库文件的加密 5通过上述设置后,再次打开“计件工资管理系统” ,会弹出“要求输入密码”窗口,输入正确的密码后才可以打开该数据库文件 单击“用密码进行加密”68.2.2 边学边练:给“计件
102、工资管理系统”数据库设置密码 独占方式打开数据库 1单击“数据库工具”标签23在弹出的对话框中对密码进行设置单击“用密码进行加密”48.3 “节省时间”导入和链接数据及导出数据 8.3.1 导入和链接数据 1导入数据 这是要导入的Excel表 打开“计件工资管理系统”数据库后,切换至“外部数据”标签页,单击“Excel”按钮1单击“确定” 按钮2选择“学员名单”Excel表3单击“显示工作表”单选按钮,单击“下一步”按钮进入“标题选择”对话框 4单击“第一行包含列标题”复选框,单击“下一步”按钮进入“字段设置”对话框 5保持系统默认,单击“下一步”按钮进入“主键选择”对话框 6单击“我自己选择
103、主键”单选按钮,单击下拉按钮,在该下拉列表中选择“学号”项,单击“下一步”按钮,进入“导入数据表向导”完成对话框 7如图所示,在“导入到表”文本框中输入“学员信息” 8单击“完成”按钮9单击“关闭”按钮10双击打开“学员信息”表从该表中我们可以看出导入的表与原Excel表中数据是一样的2链接数据 “链接数据”就是将原文件中的数据链接到Access数据库表中,原文件中的数据与数据库中的数据存在动态的链接关系。下面我们看一下操作。 这是我们需要连接的文本文件“术语比较”,打开后的界面打开“计件工资管理系统”数据库,切换至“外部数据”标签页,单击“文本文件”1选择“通过创建链接表来链接到数据源”单选
104、按钮2选择“术语比较”文本文件3单击“确定”按钮4单击“固定宽度”单选按钮,单击“下一步”按钮,进入“字段宽度调整”界面 5通过对该界面中字段旁的分隔线的拖动,实现对字段宽度的调节,也可以保持系统默认,单击“下一步”按钮,进入“字段命名”界面 6单击“字段1”,在“字段名称”文本框中将名称改为“港台术语” 9同样单击“字段2”,在“字段名称”文本框中将名称改为“内地术语” 7单击“下一步”按钮8保持系统默认,单击“完成”按钮,弹出“链接数据完成提示”对话框,单击“确定”按钮,完成数据的链接 10从该表中我们可以看到原文件数据和Access表中数据是一样的 8.3.2 从Access导出数据 打
105、开“计件工资管理系统”,在导航窗格中选择“人事表”项1单击“外部数据”标签2单击“其他”3选择“HTML 文档”4单击“确定”按钮5在此可选择保存位置或修改文件名单击“关闭”按钮6打开“桌面”上“我的文档”文件夹,将见到我们刚才导出的“人事表”HTML文件。双击该文件,打开“人事表”HTML文件 7从图中我们可以看到导出的数据在该文件中仍然以表的形式存在 8.3.3 边学边练:导出本月工资表 右键单击“本月工资统计”报表,在弹出的菜单中选择“导出”“Word RTF文件”命令导出的数据与原来的报表基本相同,只是列的左右顺序会有少许差异,而且“报表”的代码也是提前执行的,也就是说我们得到的是最新
106、的当前统计数据 8.4 “高级境界”数据库实用工具8.4.1 数据库的转换 打开要转换版本的数据库文件“计件工资管理系统” ,选择【另存为】【Access 2002-2003数据库】命令,打开转换文件存储对话框 1将文件名改为“2003数据格式”,单击“保存”按钮2第第9 9章章 创建实用创建实用AccessAccess数据库数据库公司客户管理系统进销存管理系统9.1 公司客户管理系统9.1.1 创建“公司客户管理系统”数据表 作为一个销售型的公司,或者对于某个工厂的销售部门来说,公司客户管理系统的建立可以有效的避免因业务员个人工作变动而造成公司客户的流失,也可以方便我们统计每个业务员的销售业
107、绩,以及各个地区间的销售差异。 根据公司情况,建立公司客户管理系统共需5个表,如下页图所示。1、创建基础表 创建一个空白的“公司客户信息管理系统”数据库后,切换至“创建”标签页,单击“表设计”按钮,打开“表设计器”窗口 12在表设计器窗口中,按照书中表9-1的要求输入相应的字段名称,并在数据类型一列按规定设置相应的“数据类型”,然后设置“客户编号”为“主键” 这些“常规”属性,先不要设置,下边将分别进行设置 在表设计器窗口中,选中“公司名称”字段,在下边的常规选项卡中设置格式为:!“公司名称:”&蓝色,将索引设置为:有(无重复) 3以相同的操作,按照书中表9-1的规定设置“联系人性别”、“邮政
108、编码”、“公司规模”和“加入时间”的“常规”属性。设置完毕后将此窗口关闭,并选择保存为“客户信息表”后,即可完成此表的创建 4创建了“客户信息表”后,按照相同的操作步骤,创建其它表52、创建“客户信息表”的下拉列表 打开“客户信息表”表设计窗口,选中“地区”字段,在其“数据类型”的下拉列表中选择“查阅向导”命令,打开“查阅向导”对话框 1选择“地区信息表”,单击“下一步”按钮继续 3保持系统默认,单击“下一步”按钮 2保持系统默认连续单击两次“下一步”按钮,打开“查阅向导”的最后一个对话框,接着保持系统默认,单击“完成”按钮 5在“可用字段”列表中选择“地区名称”字段,单击选择按钮后单击“下一
109、步”按钮继续 46单击“是”按钮保存表,完成查阅向导的操作 9.1.2 创建“公司客户管理系统”的供货查询 1、创建“各客户的年度供货单”查询 打开“公司客户管理系统”数据库,单击“创建”标签 2单击“查询向导”按钮14选择“表:进出帐表”项,单击”下一步”按钮3选择“交叉表查询向导”,单击“确定”按钮6选择“供货时间”项,单击“下一步”按钮 5双击“公司名称”将其添加到“选定字段”列表框,重复同样的操作将“货品名称”添加到“选定字段”列表框,单击“下一步”按钮继续 8在字段列表中选择“供货金额”项,在函数列表中选择“汇总”项,将“是,包括各行小计”复选框中的勾去掉,单击“下一步”按钮 7选择
110、“年”项,单击“下一步”按钮继续 为查询输入名称“各客户的年度供货单”,单击“完成”按钮完成查询的创建 9行标题是“公司名称”和“货品名称” 列标题是“供货时间”的年份 行、列交叉处的值是“供货金额”总和 双击“各客户的年度供货单”查询,执行效果如图所示 2、创建“供货金额最高的五个供货单位”的查询 单击“查询向导”按钮,打开查询“设计视图”,单击“关闭”按钮关闭“显示表”对话框 2打开“公司客户管理系统”数据库,切换至“创建”标签页1在设计视图上半区域单击右键,选择“SQL视图”命令,打开SQL视图 3单击关闭按钮,弹出“是否保存”对话框,单击“是”按钮,弹出“另存为”对话框,输入“供货金额
111、最高的五个供货单”,单击“确定”按钮完成查询的创建 5输入SQL语句 4这是执行结果,按照“供货金额”从高到低排列,取前五条记录 9.1.3 创建窗体打开“客户管理系统”数据库,切换至“创建”标签页2单击“窗体设计” 1重复相同的操作,添加另外三个标签(“添加新客户功能:”、“查询功能:”和“修改与删除功能:”),并将它们的字体修改为12号粗体红色 4创建一个标签,输入标题“客户管理”,并将其字体改为18号粗体 3单击直线按钮,在下边画一条直线5为“查询功能”区域添加一个“请输入要查询的公司名称:”文本框 7创建文本框,将其标签的标题修改为“公司名称:”。重复相同的操作为“添加新客户功能”区域
112、添加其他文本框(包括“公司主营业务”和“联系人”等) 6为“修改与删除功能”区域添加一组文本框8重复相同的操作添加“业务员名称:”等其它组合框 10单击组合框按钮,使用向导创建表为“表:地区信息表”,字段选“地区名称”的“地区名称:”组合框 9在“添加新客户功能:”区域添加“添加”按钮;在“查询功能”区域添加“查询”按钮;在“修改与删除功能”区域添加“!清空所有客户信息(慎用)”、“保存修改”和“删除该记录”命令按钮11通过以上操作步骤我们就完成了“客户信息管理”窗体的创建,双击打开,效果如图所示 “添加新客户功能:”区域 “查询功能:”区域 “修改与删除功能:”区域 9.1.4 创建客户报表
113、 单击鼠标右键,选择“报表页眉/页脚”命令2打开“客户管理系统”数据库,进入报表设计视图工作区 1在“页面页脚”节中创建另一个文本框,将其对应的标签删除,在文本框中输入“=第 & Page & 页” 4在“报表页眉”节中添加一个文本框。在标签框中输入“各地区客户”,字体设为12号粗斜体,在文本框中输入“=Now()” 3双击报表属性按钮,弹出“报表”属性窗口 5切换至“数据”标签页。单击“记录源”组合框的下拉按钮,选择“客户信息表”项 6切换至“设计”标签页,单击“分组和排序”按钮,打开“排序和分组”窗口 7单击“添加排序”按钮,在打开的字段列表中选择“地区”字段,默认排序次序为升序,分组形式
114、设置为“有页眉节”和“有页脚节”8单击“添加现有字段”按钮11单击“字段列表”中的“地区”项,将其拖动至“地区页眉”节第一行的方格内,并将其标签和文本框的字体均设为12号粗体。 9在两条直线之间添加一个标签,将其标题更改为“公司名称”,重复同样的操作在同一行添加另外两个标签:“联系人”和“联系人电话” 12绘制两条直线,颜色设置为“深灰1”色,边框宽度为3磅10在“地区页脚”节中绘制文本框,将其标签更名为“客户数量”,在文本框内输入“=Count(公司名称)” 14将字段列表中的“公司名称”拖动至“主体”节的第一行中并将其对应的标签删除,重复同样操作将“联系人”和“联系人电话”项添加到“主体”
115、节中 13单击关闭按钮,弹出“提示”保存对话框,单击“是”按钮。弹出“另存为”对话框,输入“各地区客户”。单击“确定”按钮,完成报表的创建 15双击“各地区客户”项,打开我们刚创建的报表 16在此报表中,“报表页眉”中显示的是报表名称和当前时间,“地区页眉”和“主体”中显示的是一条一条的客户记录 9.1.5 使用宏创建主窗体 打开“客户管理系统”数据库,切换至“创建”标签页,单击“宏”按钮1单击“操作”列第一行的下拉按钮,选择“OpenQuery”项,然后在其操作参数区域的“查询名称”中选择“各公司的年度供货单”项 3切换至“设计”标签页,单击宏名按钮增加 “宏名”列,单击“宏名”列的第一行,
116、输入“查询各客户的年度供货单” 2在第二行的“宏名”列中输入“查询供货金额最高的五个供货单”,在“操作”列中选择“OpenQuery”项,并在其操作参数区域的“查询名称”中选择“供货金额最高的五个供货单”项 4在“宏名”列的第四行中输入“打印各地区客户报表”,并在其对应的“操作”列选择“OpenReport”项,然后在其操作参数区域的“报表名称”中选择“各地区客户”项 6单击“宏名”列的第三行,输入“打开客户信息管理窗体”。单击“操作”列中第三行的下拉按钮,选择“OpenForm”项,然后在其操作参数区域的“窗体名称”中选择“客户信息管理”项 5重复同样的操作,在“宏名”列的第五行中输入“关闭
117、当前窗体”,在其“操作”列选择“Close”项,其操作参数区域均保持系统默认 87在“宏名”列的第六行中输入“关闭当前数据库”,在其对应的“操作”列中选择“Close”项,其操作参数区域均保持系统默认。在第七行的“操作”列选择“quit”项。并保存为“宏组”宏 在“属性”窗口中,单击“事件”标签,然后单击“单击”下拉框中的下拉按钮,选择“宏组.查询各客户的年度供货单”项11打开窗体的设计视图,添加一个命令按钮控件,并将其标题更改为“查看:各客户的年度供货单” 10重复同样的操作添加另外五个命令按钮,并为它们的单击事件选择相应的宏 9双击运行“主窗体”,单击“打印报表:各地区的客户”按钮,执行效
118、果如下图所示 129.1.6 完善“公司客户管理系统” 打开“公司客户管理系统”数据库,右击“客户信息管理”,选择“设计视图”命令12选择“添加”按钮,单击“代码”按钮,打开代码编辑窗口 为“添加”按钮(Command39)的单击(Click)事件编写代码,此段代码实现添加新客户资料的功能 4在对象列表中选择“Command39”,在事件过程列表中选择“Click”事件3为“查询”按钮(Command57)的单击(Click)事件编写此段代码 6在对象列表中选择“Command57”,在事件过程列表中选择“Click”事件 5为“!清空所有客户信息(慎用)”按钮(Command58)的单击(C
119、lick)事件编写如下代码 8在对象列表中选择“Command58”,在事件过程列表中选择“Click”事件 7为“保存修改”按钮(Command90)的单击(Click)事件编写如下代码,此段代码实现保存数据的功能10在对象列表中选择“Command90”,在事件过程列表中选择“Click”事件9为“保存修改”按钮(Command91)的单击(Click)事件编写如下代码 12在对象列表中选择“Command91”,在事件过程列表中选择“Click”事件 11这是添加数据的执行效果 这是查询数据的执行效果 9.2 进销存管理系统 9.2.1 系统数据库和表设计 作为一个销售型的公司,或者对于
120、某个工厂的销售部门来说,建立完善的“进销存管理系统”是控制企业进货和监控盈利的关键。下边将以实例的形式讲述“进销存管理系统”的创建。 本实例“进销存管理系统”共有四个表组成:“产品类型”表、“产品信息”表、“出库数据”表和“入库数据”表组成,具体如下页图所示。 关于表格的创建前边已有多处叙述,此处不再详细讲解,至于表中字段类型标注为“查阅向导”的,请使用查阅向导与相关表格的相关字段相关联即可。 9.2.2 建立查询 我们需要建立如图所示的三个查询 在这三个查询中,“入库数据 查询”以“入库数据”表为基础表,“出库数据 查询”以“出库数据”表为基础表,除了“ID”字段外,其余字段均显示;“盈利查
121、询”以“产品信息”为基础表,且只显示“类别ID”和“产品名称”字段。 这三个查询均使用“查询向导”即可轻松创建,关于创建的方法,这里不再详细叙述。 9.2.3 建立主窗体 本系统只有一个窗体构成,左侧有一个“出库”和“入库”的单选按钮,选择“出库”和“入库”单选按钮,下边和右侧数据会跟着改变 单击“选项组”按钮,在窗体上使用向导添加一个包含两个选项按钮的选项组控件 2打开“进销存管理系统”数据库,打开窗体“设计视图” 1添加一个名字为“产品名称”的下拉按钮控件,并与“产品信息”表中的产品名称相关联(按照向导操作即可)。并添加其他的五个文本框和两个命令按钮 3分别右击“产品名称”、“产品价格”、
122、“入库日期”和“入库数量”四个文本框,在弹出的菜单中选择“属性”命令,打开“属性”设置窗口 将“产品名称”、“产品价格”和“入库数量”三个控件的默认值设置为0 将有效性规则的默认值设置为“” 将“入库日期”的默认值设置为=Date()(就是默认为当前日期),有效性规则为“” 4567通过属性设置让这两个窗体完全重合,将窗体分别命名为“出库数据查询”和“入库数据查询”,将他们的标签分别命名为“出库数据”和“入库数据”9单击“子窗体/子报表”按钮,在窗体上使用向导添加两个以“入库数据 查询”和“出库数据 查询”为数据源的子窗体 8将主窗体的设计视图关闭,并保存为“主窗体”窗体 10右击“产品编号”
123、等控件,选择“属性”命令,打开其“属性”窗口12右击“出库数据查询”窗体,并选择“设计视图”命令,打开其设计视图 1114将“可用”属性选为“否”,将“是否锁定”属性选为“是”(五个白色的控件都进行相同的设置) 13单击左上角的窗体属性按钮,打开窗体的属性对话框,只保留“数据表”视图为“是”,“允许编辑”属性选为“否”,“允许删除”属性选为“是”,“允许添加”属性选为“否”,“数据输入”属性选为“否”,完成对此窗体的设置 打开“主窗体”的设计视图,并通过双击其左上角的“属性”按钮打开其属性设置窗口 将“主窗体”的属性设置为:标题为“进销存管理系统”;只允许“窗体”视图;“记录选择器”为“否”;
124、“导航按钮”为“否”,边框样式为“细边框”;“最大最小化按钮”为“无”。然后保存窗口设置即可完成主窗体的创建15169.2.4 给主窗体添加代码 在“主窗体”的设计界面,单击代码按钮打开“进销存管理系统”数据库的代码设置窗口,在此窗口中,通过“控件选择”下拉列表和“功能选择”下拉列表,可以选择对不同控件的不同操作设计代码。由于代码的添加过程,用幻灯片说明,没有太大的实际意义,建议同学们到正文中反复研究本文提供的代码,理解每一句代码的意义,这样才能举一反三,为自己做出更好的数据库打好基础。本课件对代码的添加不做过多讲述。9.2.5 建立“盈利查询”报表并添加代码 我们主要对每个产品的“进货数量”
125、、“进货总金额”、“出货总量”和“出货总金额”进行统计,并根据“已售商品”计算出基本的盈利状况,再根据“进货总金额”和“出货总金额”对比出当前资金的占用情况 为此报表添加如图所示的后边几个字段:进货总量、进货金额、出货总量、出货金额、出货盈利和资金亏损 ,并删除附带标签2使用向导,以“盈利查询”查询为数据源,创建一个“盈利查询”报表,注意此时“盈利查询”报表只有前两个字段:“类别ID”和“产品名称”,右击此报表,选择“设计视图”命令,打开其设计视图 1在页面页眉节添加字段的相关标签3在“页面页脚”节中添加“总盈利”和“总亏损”两个文本框4打开窗体的代码编写窗口后,在“控件选择”下拉列表中选择“主体”,然后添加书中所述的代码,即可以实现我们需要的功能。 5代码开始,首先根据“产品名称”从“产品信息”表中查找“产品编号”,然后根据产品编号,在“入库数据”表和“出库数据”表中,检索出相同的数据进行计算即可(具体操作请看代码中的相关解释)。