- MS Access 教程
- MS Access - 主页
- MS Access - 概述
- MS Access - 关系型数据库管理系统
- MS Access - 对象
- MS Access - 创建数据库
- MS Access - 数据类型
- MS Access - 创建表
- MS Access - 添加数据
- MS Access - 查询数据
- MS Access - 查询条件
- MS Access - 操作查询
- MS Access - 创建查询
- MS Access - 参数查询
- MS Access - 替代标准
- MS Access - 相关数据
- MS Access - 创建关系
- 一对一的关系
- 一对多关系
- 多对多关系
- MS Access - 通配符
- MS Access - 计算表达式
- MS Access - 索引
- MS Access - 数据分组
- MS Access - 汇总数据
- MS Access - 加入
- MS Access - 重复查询向导
- 不匹配的查询向导
- MS Access - 创建表单
- MS Access - 修改表单
- MS Access - 导航表单
- MS Access - 组合框
- MS Access - SQL 视图
- MS Access - 格式化
- MS Access - 控件和属性
- MS Access - 报告基础知识
- MS Access - 格式化报告
- MS Access - 内置函数
- MS Access - 宏
- MS Access - 数据导入
- MS Access - 数据导出
- MS Access 有用资源
- MS Access - 快速指南
- MS Access - 有用的资源
- MS Access - 讨论
MS Access - 快速指南
访问女士 - 概述
Microsoft Access 是 Microsoft 的数据库管理系统 (DBMS),它将关系型 Microsoft Jet 数据库引擎与图形用户界面和软件开发工具相结合。它是 Microsoft Office 应用程序套件的成员,包含在专业版和更高版本中。
Microsoft Access 只是 Microsoft 整体数据管理产品战略的一部分。
它基于 Access Jet 数据库引擎以自己的格式存储数据。
与关系数据库一样,Microsoft Access 还允许您轻松链接相关信息。例如,客户和订单数据。然而,Access 2013 还补充了其他数据库产品,因为它具有多种强大的连接功能。
它还可以直接导入或链接到其他应用程序和数据库中存储的数据。
顾名思义,Access 可以直接处理来自其他来源的数据,包括许多流行的 PC 数据库程序,以及桌面、服务器、小型计算机或大型机上的许多 SQL(结构化查询语言)数据库,以及存储在互联网或内联网 Web 服务器。
Access 还可以理解和使用多种其他数据格式,包括许多其他数据库文件结构。
您可以直接将数据导出到文字处理文件、电子表格或数据库文件或从中导入数据。
Access 可以与支持开放数据库连接 (ODBC) 标准的大多数流行数据库配合使用,包括 SQL Server、Oracle 和 DB2。
软件开发人员可以使用Microsoft Access 来开发应用软件。
Microsoft Access 存储称为数据库的信息。要使用 MS Access,您需要遵循以下四个步骤 -
数据库创建- 创建您的 Microsoft Access 数据库并指定您将存储的数据类型。
数据输入- 创建数据库后,每个工作日的数据都可以输入到 Access 数据库中。
查询- 这是一个奇特的术语,基本上描述从数据库检索信息的过程。
报告(可选)- 来自数据库的信息被组织在一个漂亮的演示文稿中,可以在访问报告中打印。
建筑学
Access 将任何有名称的东西称为对象。在 Access 桌面数据库中,主要对象是表、查询、表单、报表、宏、数据宏和模块。
如果您在台式计算机上使用过其他数据库系统,您可能会看到术语“数据库”仅指那些存储数据的文件。
但是,在 Access 中,桌面数据库 (.accdb) 还包括与存储的数据相关的所有主要对象,包括您定义的用于自动使用数据的对象。
Access女士-关系型数据库管理系统
就布局和导航方面而言,Microsoft Access 具有其他 Microsoft Office 产品的外观和感觉,但 MS Access 是一个数据库,更具体地说,是一个关系数据库。
在 MS Access 2007 之前,文件扩展名是*.mdb,但在 MS Access 2007 中,扩展名已更改为*.accdb扩展名。
早期版本的 Access 无法读取 accdb 扩展,但 MS Access 2007 及更高版本可以读取和更改早期版本的 Access。
Access 桌面数据库(.accdb 或.mdb)是功能齐全的 RDBMS。
它提供了管理大量数据所需的所有数据定义、数据操作和数据控制功能。
您可以将 Access 桌面数据库(.accdb 或 .mdb)用作单个工作站上的独立 RDBMS 或跨网络的共享客户端/服务器模式。
桌面数据库还可以充当公司内联网网页上显示的数据的数据源。
当您使用 Access 桌面数据库构建应用程序时,Access 就是 RDBMS。
数据定义
现在让我们了解什么是数据定义 -
在文档或电子表格中,您通常可以完全自由地定义文档或电子表格中每个单元格的内容。
在文档中,您可以包含文本段落、表格、图表或多列以多种字体显示的数据。
在电子表格中,您可以在顶部使用文本数据来定义用于打印或显示的列标题,并且同一列中可能有各种数字格式,具体取决于行的功能。
RDBMS 允许您定义拥有的数据类型以及数据的存储方式。
您通常还可以定义 RDBMS 可用来确保数据完整性的规则。
例如,验证规则可以确保用户不会意外地将字母字符存储在应包含数字的字段中。
数据处理
在 RDBMS 中处理数据与在文字处理或电子表格程序中处理数据有很大不同。
在字处理文档中,您可以包含表格数据并对文档中的数据执行一组有限的功能。
您还可以在原始文档中搜索文本字符串,并使用 ActiveX 控件,包括来自其他应用程序的表格、图表或图片。
在电子表格中,某些单元格包含确定所需结果的函数,而在其他单元格中,您输入提供函数源信息的数据。
您可以在单个表中搜索信息或请求在多个相关表中进行复杂搜索。
您可以使用单个命令更新单个字段或多个记录。
您可以编写使用 RDBMS 命令的程序来获取要显示的数据并允许用户更新数据。
RDBMS 为您提供了多种处理数据的方法。例如,
Access 使用功能强大的 SQL 数据库语言来处理表中的数据。使用 SQL,您可以定义解决特定问题所需的信息集,其中可能包括来自许多表的数据。
数据控制
电子表格和文字处理文档非常适合解决单用户问题,但当多人需要共享数据时,它们就很难使用了。
当您需要与他人共享信息时,RDBMS 可以灵活地允许多个用户读取或更新您的数据。
旨在允许数据共享的 RDBMS 还提供了确保没有两个人可以同时更改相同数据的功能。
最好的系统还允许您对更改进行分组(也称为事务),以便所有更改或没有任何更改出现在您的数据中。
您可能还想确保在您输入全部订单之前,其他人都无法查看订单的任何部分。
由于您可以与其他用户共享 Access 数据,因此您可能需要对允许不同用户查看或更新的内容设置一些限制。
Ms Access - 对象
MS Access 使用“对象”来帮助用户列出和组织信息,以及准备专门设计的报告。创建数据库时,Access 为您提供表、查询、表单、报告、宏和模块。Access 中的数据库由以下组成许多对象,但以下是主要对象 -
- 表格
- 查询
- 形式
- 报告
这些对象一起允许您输入、存储、分析和编译数据。以下是 Access 数据库中主要对象的摘要;
桌子
表是用于定义和存储数据的对象。创建新表时,Access 会要求您定义字段,也称为列标题。
每个字段必须有唯一的名称和数据类型。
表包含存储不同类型数据(例如名称或地址)的字段或列,以及收集有关主题的特定实例的所有信息(例如有关客户或员工等的所有信息)的记录或行。
您可以定义主键、每条记录具有唯一值的一个或多个字段以及每个表上的一个或多个索引,以帮助更快地检索数据。
询问
一种对象,提供来自一个或多个表的数据的自定义视图。查询是一种从一个或多个表搜索和编译数据的方法。
运行查询就像询问数据库的详细问题。
当您在 Access 中构建查询时,您正在定义特定的搜索条件以准确查找所需的数据。
在 Access 中,您可以使用示例工具进行图形查询,也可以编写结构化查询语言 (SQL) 语句来创建查询。
您可以定义查询以选择、更新、插入或删除数据。
您还可以定义根据一个或多个现有表中的数据创建新表的查询。
形式
表单是桌面数据库中的一个对象,主要用于数据输入或显示或用于控制应用程序执行。您可以使用表单来自定义应用程序从查询或表中提取的数据的表示方式。
表单用于输入、修改和查看记录。
表单如此频繁使用的原因是它们是引导人们正确输入数据的简单方法。
当您在 Access 的表单中输入信息时,数据将准确地存储在一个或多个相关表中数据库设计者希望其存储的位置。
报告
报表是桌面数据库中的一个对象,设计用于格式化、计算、打印和汇总所选数据。
您可以在打印报告之前在屏幕上查看报告。
如果表格用于输入,那么报告则用于输出。
您计划打印的任何内容都需要一份报告,无论是姓名和地址列表、一段时间内的财务摘要还是一组邮寄标签。
报告很有用,因为它们允许您以易于阅读的格式呈现数据库的组件。
您甚至可以自定义报告的外观,使其具有视觉吸引力。
Access 使您能够从任何表或查询创建报告。
其他 MS Access 对象
现在让我们看一下其他 MS Access 对象。
宏
该对象是您希望 Access 为响应定义的事件而执行的一项或多项操作的结构化定义。Access 宏是用于执行某些工作的脚本。例如,要创建打开报告的按钮,您可以使用将触发 OpenReport 操作的宏。
您可以在宏中包含简单条件,以指定何时应执行或跳过宏中的一项或多项操作。
您可以使用宏来打开和执行查询、打开表或者打印或查看报告。
您还可以从宏中运行其他宏或 Visual Basic 过程。
数据宏可以直接附加到表事件,例如插入新记录、编辑现有记录或删除记录。
Web 应用程序中的数据宏也可以是可以从其他数据宏或宏对象调用的独立对象。
模块
模块是桌面数据库中的一个对象,包含使用 Visual Basic 编写的自定义过程。模块提供了更加离散的操作流程,并允许您捕获错误。
在宏中可以完成的所有操作也可以在模块中完成,但是您不会获得提示您每个操作需要什么的宏界面。
模块的功能要强大得多,如果您计划为多用户环境编写代码,则模块是必不可少的,因为宏不能包含错误处理。
模块可以是包含可以从应用程序中的任何位置调用的函数的独立对象,也可以直接与表单或报表关联以响应关联表单或报表上的事件。
Ms Access - 创建数据库
在本章中,我们将介绍启动 Access 和创建数据库的基本过程。本章还将介绍如何使用模板创建桌面数据库以及如何从头开始构建数据库。
要从模板创建数据库,我们首先需要打开 MS Access,您将看到以下屏幕,其中显示了不同的 Access 数据库模板。
要查看所有可能的数据库,您可以向下滚动,也可以使用搜索框。
让我们在搜索框中输入项目并按 Enter。您将看到与项目管理相关的数据库模板。
选择第一个模板。您将看到与此模板相关的更多信息。
选择与您的要求相关的模板后,在文件名字段中输入名称,如果需要,您还可以为文件指定另一个位置。
现在,按“创建”选项。Access 将下载该数据库模板并打开一个新的空白数据库,如以下屏幕截图所示。
现在,单击左侧的导航窗格,您将看到该数据库附带的所有其他对象。
单击“项目导航”并在菜单中选择“对象类型”。
您现在将看到所有对象类型——表、查询等。
创建空白数据库
有时,数据库要求可能非常具体,以至于使用和修改现有模板需要比从头开始创建数据库更多的工作。在这种情况下,我们使用空白数据库。
步骤 1 - 现在让我们从打开 MS Access 开始。
步骤 2 - 选择空白桌面数据库。输入名称并单击“创建”按钮。
步骤 3 - Access 将创建一个新的空白数据库,并将打开也是完全空白的表。
Ms Access - 数据类型
表中的每个字段都有属性,这些属性定义字段的特征和Behave。字段最重要的属性是其数据类型。字段的数据类型决定了它可以存储什么类型的数据。MS Access 支持不同类型的数据,每种数据都有特定的用途。
- 数据类型决定了用户可以在任何给定字段中存储的值的类型。
- 每个字段可以存储仅由单一数据类型组成的数据。
以下是典型 Microsoft Access 数据库中使用的一些最常见的数据类型。
数据类型 | 描述 | 尺寸 |
---|---|---|
短文本 | 文本或文本和数字的组合,包括不需要计算的数字(例如电话号码)。 | 最多 255 个字符。 |
长文本 | 冗长的文本或文本和数字的组合。 | 最多 63, 999 个字符。 |
数字 | 用于数学计算的数字数据。 | 1、2、4 或 8 字节(如果设置为复制 ID,则为 16 字节)。 |
约会时间 | 100 到 9999 年的日期和时间值。 | 8字节 |
货币 | 数学计算中使用的货币值和数字数据涉及小数点后一位到四位的数据。 | 8字节 |
自动编号 | 每当向表中添加新记录时,Microsoft Access 分配的唯一顺序(递增 1)数字或随机数字。 | 4 字节(如果设置为复制 ID,则为 16 字节)。 |
是/否 | 是和否值以及仅包含两个值之一(是/否、真/假或开/关)的字段。 | 1 位。 |
如果您使用早期版本的 Access,您会注意到其中两种数据类型的差异。
在 Access 2013 中,我们现在有两种数据类型 - 短文本和长文本。在 Access 的早期版本中,这些数据类型称为文本和备忘录。
文本字段称为短文本,而您的备注字段现在称为长文本。
以下是一些其他更专业的数据类型,您可以在 Access 中进行选择。
数据类型 | 描述 | 尺寸 |
---|---|---|
依恋 |
文件,例如数码照片。每个记录可以附加多个文件。此数据类型在早期版本的 Access 中不可用。 |
最多约 2 GB。 |
OLE对象 |
OLE对象可以存储图片、音频、视频或其他BLOB(二进制大对象) |
最多约 2 GB。 |
超级链接 |
文本或文本和数字的组合存储为文本并用作超链接地址。 |
最多 8,192 个(超链接数据类型的每个部分最多可包含 2048 个字符)。 |
查找向导 |
设计视图中数据类型列中的查找向导条目实际上并不是数据类型。当您选择此条目时,向导将开始帮助您定义简单或复杂的查找字段。 简单的查找字段使用另一个表或值列表的内容来验证每行单个值的内容。复杂的查找字段允许您在每行中存储相同数据类型的多个值。 |
取决于查找字段的数据类型。 |
已计算 |
您可以创建一个使用一个或多个字段中的数据的表达式。您可以从表达式中指定不同的结果数据类型。 |
您可以创建一个使用一个或多个字段中的数据的表达式。您可以从表达式中指定不同的结果数据类型。 |
这些是在 Microsoft Access 表中创建字段时可以选择的所有不同数据类型。
Ms Access - 创建表
创建数据库时,您将数据存储在表中。由于其他数据库对象严重依赖于表,因此您应该始终通过创建数据库的所有表,然后创建任何其他对象来开始数据库设计。在创建表之前,请仔细考虑您的需求并确定您需要的所有表。
让我们尝试创建第一个表来存储有关员工的基本联系信息,如下表所示 -
字段名称 | 数据类型 |
---|---|
员工ID | 自动编号 |
名 | 短文本 |
姓 | 短文本 |
地址1 | 短文本 |
地址2 | 短文本 |
城市 | 短文本 |
状态 | 短文本 |
压缩 | 短文本 |
电话 | 短文本 |
手机类型 | 短文本 |
现在让我们将短文本作为所有这些字段的数据类型,并在 Access 中打开一个空白数据库。
这就是我们留下的地方。我们创建了数据库,然后 Access 自动打开表的表一数据表视图。
现在让我们转到“字段”选项卡,您将看到它也是自动创建的。ID 是一个自动编号字段,充当我们的唯一标识符,并且是该表的主键。
ID 字段已经创建,我们现在想要重命名它以适合我们的条件。这是一个员工表,这将是我们员工的唯一标识符。
单击功能区中的“名称和标题”选项,您将看到以下对话框。
将此字段的名称更改为EmployeeID,以使其更特定于此表。如果需要,请输入其他可选信息,然后单击“确定”。
现在,我们的员工 ID 字段的标题为“员工 ID”。它会自动设置为自动编号,因此我们实际上不需要更改数据类型。
现在让我们通过单击click to add添加更多字段。
选择短文本作为字段。当您选择短文本时,Access 将自动突出显示该字段名称,您只需键入字段名称即可。
输入FirstName作为字段名称。同样,添加所有必填字段,如以下屏幕截图所示。
添加所有字段后,单击“保存”图标。
您现在将看到“另存为”对话框,您可以在其中输入表的表名称。
在表名称字段中输入表的名称。这里tbl前缀代表表。让我们单击“确定”,您将在导航窗格中看到您的表格。
表设计视图
因为我们已经使用Datasheet View创建了一张表。我们现在将使用表设计视图创建另一个表。我们将在此表中创建以下字段。这些表将存储各种图书项目的一些信息。
字段名称 | 数据类型 |
---|---|
项目编号 | 自动编号 |
项目名 | 短文本 |
总编辑 | 短文本 |
作者 | 短文本 |
P状态 | 短文本 |
合约 | 依恋 |
项目启动 | 约会时间 |
项目结束 | 约会时间 |
预算 | 货币 |
项目笔记 | 长文本 |
现在让我们转到“创建”选项卡。
在表格组中,单击表格,您可以看到它看起来与数据表视图完全不同。在此视图中,您可以并排看到字段名称和数据类型。
现在,我们需要将ProjectID设置为该表的主键,因此让我们选择ProjectID并单击功能区中的“主键”选项。
您现在可以看到该字段旁边将显示一个小钥匙图标。这表明该字段是表主键的一部分。
让我们保存这个表并给这个表命名。
单击确定,您现在可以在数据表视图中看到该表的外观。
让我们单击功能区左上角的数据表视图按钮。
如果您想要更改此表或任何特定字段,则不必总是返回设计视图来更改它。您还可以从数据表视图中更改它。让我们更新 PStatus 字段,如以下屏幕截图所示。
单击确定,您将看到更改。
Ms Access - 添加数据
Access 数据库不是与 Microsoft Office Word 文档或 Microsoft Office PowerPoint 相同意义上的文件。相反,Access 数据库是表、表单、报告、查询等对象的集合,这些对象必须协同工作才能使数据库正常运行。现在,我们已经创建了两个表,其中包含数据库中所需的所有字段和字段属性。要查看、更改、插入或删除 Access 中表中的数据,可以使用表的数据表视图。
数据表是一种查看行和列数据的简单方法,无需任何特殊格式。
每当您创建新的 Web 表时,Access 都会自动创建两个视图,您可以立即开始使用它们进行数据输入。
在数据表视图中打开的表类似于 Excel 工作表,您可以将数据键入或粘贴到一个或多个字段中。
您不需要显式保存数据。当您将光标移动到同一行中的新字段或将光标移动到另一行时,Access 会将更改提交到表中。
默认情况下,Access 数据库中的字段设置为接受特定类型的数据,例如文本或数字。您必须输入该字段设置接受的数据类型。如果不这样做,Access 将显示一条错误消息 -
让我们通过打开我们创建的 Access 数据库将一些数据添加到您的表中。
选择功能区中的“视图”→“数据表视图”选项,然后添加一些数据,如以下屏幕截图所示。
同样,在第二个表中添加一些数据,如下面的屏幕截图所示。
您现在可以看到,在数据表视图中插入新数据和更新现有数据与在电子表格中工作一样非常简单。但是,如果您想删除任何数据,则需要先选择整行,如以下屏幕截图所示。
现在按删除按钮。这将显示确认消息。
单击“是”,您将看到所选记录现已被删除。
Ms Access - 查询数据
查询是对数据结果以及对数据执行操作的请求。您可以使用查询来回答简单的问题、执行计算、组合不同表中的数据,甚至添加、更改或删除表数据。
随着表的大小不断增大,它们可能会包含数十万条记录,这使得用户无法从该表中挑选出特定的记录。
通过查询,您可以对表的数据应用过滤器,以便您只获得所需的信息。
用于从表中检索数据或进行计算的查询称为选择查询。
添加、更改或删除数据的查询称为操作查询。
您还可以使用查询来为表单或报表提供数据。
在设计良好的数据库中,您想要使用表单或报表呈现的数据通常位于多个不同的表中。
查询的棘手之处在于,您必须先了解如何构造查询,然后才能实际使用它们。
创建选择查询
如果您只想查看表中某些字段的数据,或者同时查看多个表中的数据,或者只是根据某些条件查看数据库,则可以使用选择查询。现在让我们看一个简单的示例,在该示例中我们将创建一个简单的查询,该查询将从tblEmployees表中检索信息。打开数据库并单击“创建”选项卡。
单击“查询设计”。
在“表”选项卡的“显示表”对话框中,双击tblEmployees表,然后关闭该对话框。
在 tblEmployees 表中,双击要查看查询结果的所有字段。将这些字段添加到查询设计网格中,如以下屏幕截图所示。
现在单击“设计”选项卡上的“运行”,然后单击“运行”。
查询运行并仅显示查询中指定的那些字段中的数据。
Ms Access - 查询条件
查询条件可帮助您从 Access 数据库中检索特定项目。如果某个项目与您输入的所有条件匹配,它将出现在查询结果中。当您想要根据字段中的值限制查询结果时,可以使用查询条件。
查询条件是一个表达式,Access 将其与查询字段值进行比较,以确定是否包括包含每个值的记录。
有些标准很简单,并且使用基本运算符和常量。其他的则很复杂,使用函数、特殊运算符,并包含字段引用。
要向查询添加一些条件,您必须在设计视图中打开查询。
然后,您可以确定要为其指定条件的字段。
例子
让我们看一个简单的示例,其中我们将在查询中使用条件。首先打开 Access 数据库,然后转到“创建”选项卡并单击“查询设计”。
在“显示表”对话框的“表”选项卡中,双击tblEmployees表,然后关闭对话框。
现在让我们向查询网格添加一些字段,例如 EmployeeID、FirstName、LastName、JobTitle 和 Email,如以下屏幕截图所示。
现在让我们运行您的查询,您将仅看到这些字段作为查询结果。
如果您只想查看职位为营销协调员的人员,那么您需要为其添加条件。让我们再次进入查询设计,在 JobTitle 的 Criteria 行中输入 Marketing Coordinator。
现在让我们再次运行您的查询,您将看到仅检索到营销协调员的职务。
如果要为多个字段添加条件,只需在多个字段中添加条件即可。假设我们只想检索“营销协调员”和“会计助理”的数据;我们可以指定 OR 行运算符,如下图所示 -
现在让我们再次运行您的查询,您将看到以下结果。
如果您需要使用AND运算符的功能,则必须在 Criteria 行中指定其他条件。假设我们想要检索所有会计助理,但只检索那些姓氏为“Pollard”的营销协调员职位。
现在让我们再次运行您的查询,您将看到以下结果。
Ms Access - 操作查询
在 MS Access 和其他 DBMS 系统中,查询不仅仅可以显示数据,而且它们实际上可以对数据库中的数据执行各种操作。
操作查询是可以一次添加、更改或删除多条记录的查询。
额外的好处是您可以在运行之前在 Access 中预览查询结果。
Microsoft Access 提供 4 种不同类型的操作查询 -
附加
更新
删除
制作表
操作查询无法撤消。您应该考虑对将使用更新查询更新的任何表进行备份。
创建追加查询
您可以使用追加查询从一个或多个表中检索数据并将该数据添加到另一个表中。让我们创建一个新表,在其中添加tblEmployees表中的数据。这将是用于演示目的的临时表。
我们将其称为TempEmployees,其中包含如以下屏幕截图所示的字段。
在“表”选项卡的“显示表”对话框中,双击tblEmployees表,然后关闭该对话框。双击要显示的字段。
让我们首先运行您的查询来显示数据。
现在让我们回到查询设计并选择追加按钮。
在“查询类型”中,选择“追加”选项按钮。这将显示以下对话框。
从下拉列表中选择表名称,然后单击“确定”。
在查询网格中,您可以看到在“附加到”行中,默认选择了除“地址1”之外的所有字段。这是因为该 Address1 字段在TempEmployee表中不可用。因此,我们需要从下拉列表中选择字段。
让我们看看地址字段。
现在让我们运行您的查询,您将看到以下确认消息。
单击“是”确认您的操作。
当您打开TempEmployee表时,您将看到所有数据都从 tblEmployees 添加到 TempEmployee 表中。
Ms Access - 创建查询
让我们在本章中了解如何创建查询。
创建更新查询
您可以使用更新查询来更改表中的数据,并且可以使用更新查询输入条件来指定应更新哪些行。更新查询使您有机会在执行更新之前查看更新的数据。让我们再次转到“创建”选项卡,然后单击“查询设计”。
在“表”选项卡的“显示表”对话框中,双击tblEmployees表,然后关闭该对话框。
在“设计”选项卡的“查询类型”组中,单击“更新”,然后双击要更新其中值的字段。假设我们要将“Rex”的名字更新为“Max”。
在设计网格的更新行中,输入更新的值,然后在条件行中添加要更新的原始值并运行查询。这将显示确认消息。
单击“是”并转到“数据表视图”,您将看到第一条记录 - FirstName 现在已更新为“Max”。
创建删除查询
您可以使用删除查询从表中删除数据,并且可以使用删除查询输入条件来指定应删除哪些行。删除查询使您有机会在执行删除之前查看将要删除的行。让我们再次转到“创建”选项卡并单击“查询设计”。
在“显示表”对话框的“表”选项卡中,双击tblEmployees表,然后关闭该对话框。
在“设计”选项卡的“查询类型”组中,单击“删除”并双击EmployeeID。
在设计网格的条件行中,输入 11。这里我们要删除 EmployeeID 为 11 的员工。
现在让我们运行查询。该查询将显示确认消息。
单击“是”并转到“数据表视图”,您将看到指定的员工记录现已删除。
创建表查询
您可以使用建表查询根据存储在其他表中的数据创建新表。让我们再次转到“创建”选项卡并单击“查询设计”。
在“表”选项卡的“显示表”对话框中,双击tblEmployees表,然后关闭该对话框。
选择要复制到另一个表的所有字段。
在“查询类型”中,选择“创建表”选项按钮。
您将看到以下对话框。输入要创建的新表的名称,然后单击“确定”。
现在运行您的查询。
您现在将看到以下消息。
单击“是”,您将在导航窗格中看到创建的新表。
Ms Access - 参数查询
关于查询的最好的部分是,您可以一次又一次地保存并运行相同的查询,但是当您仅通过更改条件来一次又一次地运行相同的查询时,您可能会考虑该查询接受参数。
如果您经常想要运行特定查询的变体,请考虑使用参数查询
参数查询以交互方式检索信息,提示最终用户在运行查询之前提供条件。
您还可以指定参数应接受的数据类型。
您可以为任何参数设置数据类型,但为数字、货币或日期/时间数据设置数据类型尤其重要。
当您指定参数应接受的数据类型时,如果用户输入错误的数据类型(例如在需要货币时输入文本),用户会看到更有用的错误消息。
如果将参数设置为接受文本数据,则任何输入都会被解释为文本,并且不会显示错误消息。
例子
现在让我们看一个创建参数查询的简单示例。让我们打开数据库并在“创建表”选项卡中选择“查询设计”。
双击 tblProjects并关闭“显示”对话框。
选择您想要作为查询结果查看的字段,如以下屏幕截图所示。
在查询设计网格中,在 ProjectStart 列的 Criteria 行中,键入[Enter a project start data]。字符串[输入项目启动数据]是您的参数提示。方括号表示您希望查询要求输入,文本为Enter a project start data是参数提示显示的内容。
现在让我们运行您的查询,您将看到以下提示。
现在让我们输入以下日期。
单击“确定”进行确认。
因此,您将看到 2007 年 2 月 1 日开始的项目的详细信息。让我们转到设计视图并再次运行查询。
输入上面屏幕截图中的日期,然后单击“确定”。您现在将看到 2008 年 5 月 1 日开始的项目的详细信息。
Ms Access - 替代标准
查询有很多优点。您可以一次又一次地保存并运行相同的查询,并且很多时候您想要添加备用条件。
您可以通过以下两种方式添加替代标准 -
- 您可以使用 OR 运算符来组合两组条件。
- 您还可以使用查询设计网格,但您需要将其分隔在多行中,而不是在同一行上指定条件。
例子
让我们看一个替代标准的简单示例。打开数据库并在“创建”选项卡中选择“查询设计”。
双击tblEmployee并关闭“显示表”对话框。
双击您想要查看查询结果的所有字段。
您现在可以看到在LastName字段的不同行中指定了备用条件。当您运行此查询时,您将看到姓氏为Pollard或Manning的员工。现在让我们运行这个查询。
正如您所看到的,由于替代条件,仅检索到两名员工。
如果您想在多个字段中添加备用条件,则必须为所有字段使用不同的行。现在让我们添加另一个替代标准,我们可以检索姓氏为Pollard或Manning或职位为Accounting Assistant的员工的信息。
现在让我们运行这个查询。
您现在将看到以下结果。
Ms Access - 相关数据
在本章中,我们将了解关联数据的基础知识。在讨论和创建不同数据之间的关系之前,让我们回顾一下为什么需要它。一切都回到正常化。
正常化
数据库规范化,或者简称规范化,是组织关系数据库的列(属性)和表(关系)以最小化数据冗余的过程。这是将数据拆分到多个表以提高整体性能、完整性和寿命的过程。
规范化是在数据库中组织数据的过程。
这包括根据旨在保护数据并通过消除冗余和不一致的依赖性使数据库更加灵活的规则创建表并在这些表之间建立关系。
现在让我们看看下表中包含的数据,但问题是这些数据相当冗余,这增加了数据输入期间出现拼写错误和措辞不一致的可能性。
客户ID | 姓名 | 地址 | 曲奇饼 | 数量 | 价格 | 全部的 |
---|---|---|---|---|---|---|
1 | 埃塞尔·史密斯 | 12 Main St, 阿灵顿, VA 22201 S | 巧克力片 | 5 | $2.00 | 10.00 美元 |
2 | 汤姆·威尔伯 | 1234 Oak Dr.,北京,伊利诺伊州 61555 | 巧克力片 | 3 | $2.00 | $6.00 |
3 | 埃希尔·史密斯 | 12 Main St., 阿灵顿, VA 22201 | 巧克力片 | 5 | $2.00 | 10.00 美元 |
为了解决这个问题,我们需要重组数据并将其分解为多个表以消除其中的一些冗余,如下三个表所示。
在这里,我们有一张表用于客户,第二张表用于订单,第三张表用于 Cookie。
这里的问题是,仅仅将数据拆分到多个表中并不能帮助了解一个表中的数据与另一表中的数据如何相关。要连接多个表中的数据,我们必须向Orders表添加外键。
定义关系
关系通过匹配关键列中的数据(通常是两个表中具有相同名称的列)来发挥作用。在大多数情况下,该关系将一个表中的主键与另一个表中的外键中的条目相匹配,该表为每一行提供唯一标识符。表之间的关系分为三种类型。创建的关系类型取决于相关列的定义方式。
现在让我们看看三种类型的关系 -
一对多关系
一对多关系是最常见的关系类型。在这种类型的关系中,表 A 中的一行可以在表 B 中具有多个匹配行,但表 B 中的一行在表 A 中只能有一个匹配行。
例如,Customers 和 Orders 表具有一对多关系:每个客户可以下多个订单,但每个订单仅来自一个客户。
多对多关系
在多对多关系中,表 A 中的一行可以在表 B 中具有多个匹配行,反之亦然。
您可以通过定义第三个表(称为连接表)来创建这样的关系,该表的主键由表 A 和表 B 的外键组成。
例如,Customers 表和 Cookies 表具有多对多关系,该关系是通过从这些表中的每一个表到 Orders 表的一对多关系来定义的。
一对一的关系
在一对一关系中,表 A 中的一行在表 B 中只能有一个匹配行,反之亦然。如果两个相关列都是主键或具有唯一约束,则会创建一对一关系。
这种类型的关系并不常见,因为以这种方式相关的大多数信息都在一个表中。您可以使用一对一的关系来 -
- 将一个表分成许多列。
- 出于安全原因隔离表的一部分。
- 存储短暂的数据,只需删除表即可轻松删除。
- 存储仅适用于主表子集的信息。
Ms Access - 建立关系
在本章中,我们将了解在相关表之间创建关系的必要性。良好的数据库设计的目标之一是消除数据冗余。
为了实现该目标,您将数据划分为许多基于主题的表,以便每个事实仅表示一次。
为此,所有彼此相关的公共字段都放置在一张表中。
要正确执行此步骤,您必须首先了解表之间的关系,然后在 Access 数据库中指定这些关系。
为什么要创建表关系?
当您需要在数据库对象中使用表时,MS Access 使用表关系来连接表。有多种原因导致您应该在创建其他数据库对象(例如表单、查询、宏和报表)之前创建表关系。
要处理多个表中的记录,您通常必须创建一个连接这些表的查询。
该查询的工作原理是将第一个表的主键字段中的值与第二个表中的外键字段进行匹配。
当您设计表单或报表时,MS Access 使用从您已定义的表关系中收集的信息来为您提供明智的选择,并使用适当的默认值预填充属性设置。
设计数据库时,您将信息划分为表,每个表都有一个主键,然后将外键添加到引用这些主键的相关表中。
这些外键-主键配对构成了表关系和多表查询的基础。
现在让我们在数据库中添加另一个表,并使用表设计将其命名为tblHRData,如以下屏幕截图所示。
单击“保存”图标,如上面的屏幕截图所示。
输入tblHRData作为表名称,然后单击“确定”。
现在已创建tblHRData,其中包含数据。
Ms Access - 一对一关系
现在让我们了解 MS Access 中的一对一关系。此关系用于将一个表中的一条记录与另一表中的一条且仅一条记录相关联。
现在让我们转到数据库工具选项卡。
单击“关系”选项。
选择tblEmployees和tblHRData,然后单击“添加”按钮将它们添加到我们的视图中,然后关闭“显示表”对话框。
要在这两个表之间创建关系,请使用鼠标,单击并按住tblEmployees中的EmployeeID字段,然后将该字段拖放到我们想要关联的字段上,方法是将鼠标悬停在tblHRData中的EmployeeID上。当您释放鼠标按钮时,Access 将打开以下窗口 -
上面的窗口将 tblEmployees 的 EmployeeID 与 tblHRData 的 EmployeeID 相关联。现在让我们单击“创建”按钮,现在这两个表是相关的。
该关系现在会自动保存,无需单击“保存”按钮。现在我们已经创建了最基本的关系,现在让我们到表侧看看这个关系发生了什么。
让我们打开tblEmployees表。
在这里,默认情况下,在每条记录的左侧,您都会看到一个小加号。创建关系时,Access 会自动向该表添加子数据表。
让我们单击加号,您将看到与此记录相关的信息位于tblHRData表中。
单击“保存”图标并打开tblHRData,您将看到我们输入的数据已经在这里。
Ms Access - 一对多关系
绝大多数关系很可能是一对多关系,其中一个表中的一条记录有可能与另一个表中的许多记录相关。
创建一对多关系的过程与创建一对一关系的过程完全相同。
首先,我们通过单击“设计”选项卡上的“清除布局”选项来清除布局。
我们将首先添加另一个表tblTasks,如下面的屏幕截图所示。
单击“保存”图标并输入tblTasks作为表名称,然后转到“关系”视图。
单击“显示表”选项。
添加tblProjects和tblTasks并关闭“显示表”对话框。
我们可以再次运行相同的过程来关联这些表。单击并按住 tblProjects 中的 ProjectID,然后将其一直拖动到 tblTasks 中的 ProjectID。此外,当您释放鼠标时,会弹出一个关系窗口。
单击创建按钮。我们现在已经建立了一种非常简单的关系。
Ms Access - 多对多关系
在本章中,让我们了解多对多关系。要表示多对多关系,您必须创建第三个表(通常称为联结表),它将多对多关系分解为两个一对多关系。为此,我们还需要添加一个连接表。让我们首先添加另一个表tblAuthers。
现在让我们创建一个多对多关系。我们有不止一位作者从事多个项目,反之亦然。如您所知,我们在 tblProjects 中有一个 Author 字段,因此我们为其创建了一个表。我们不再需要这个字段了。
选择作者字段并按删除按钮,您将看到以下消息。
单击“是”。我们现在必须创建一个连接表。该连接表中有两个外键,如以下屏幕截图所示。
这些外键字段将是链接在一起的两个表( tblAuthers和tblProjects )中的主键。
要在 Access 中创建复合键,请选择这两个字段,然后从表工具设计选项卡中,您可以直接单击该主键,这将标记这两个字段,而不是其中一个。
这两个字段的组合是表的唯一标识符。现在让我们将此表保存为tblAuthorJunction。
将多对多关系组合在一起的最后一步是返回到该关系视图并通过单击Show Table创建这些关系。
选择上面三个突出显示的表,然后单击“添加”按钮,然后关闭此对话框。
单击并拖动tblAuthors中的AuthorID字段,并将其放置在tblAuthorJunction表AuthorID的顶部。
您所创建的关系将被 Access 视为一对多关系。我们还将强制执行引用完整性。现在让我们打开级联更新并单击“创建”按钮,如上面的屏幕截图所示。
现在让我们按住ProjectID ,将其从tblAuthorJunction拖放到ProjectID的正上方。
我们将强制执行引用完整性和级联更新相关字段。
以下是多对多关系。
Ms Access - 通配符
通配符是特殊字符,可以代替文本值中的未知字符,并且可以方便地查找具有相似但不相同数据的多个项目。通配符还可以帮助获取指定模式匹配的数据库。
Access 支持两组通配符,因为它支持两种结构化查询语言标准。
- ANSI-89
- ANSI-92
通常,在对 Access 数据库(例如*.mdb和*.accdb文件)运行查询和查找和替换操作时,可以使用 ANSI-89 通配符。
对 Access 项目(连接到 Microsoft SQL Server 数据库的 Access 文件)运行查询时,可以使用 ANSI-92 通配符。Access 项目使用 ANSI-92 标准,因为 SQL Server 使用该标准。
ANSI-89 通配符
下表列出了 ANSI-89 支持的字符 -
特点 | 描述 | 例子 |
---|---|---|
* | 匹配任意数量的字符。您可以在字符串中的任何位置使用星号 (*)。 | wh*找到什么、白色和原因,但不是一会儿或观察。 |
? | 匹配任何单个字母字符。 | 比尔找到了球、铃和比尔。 |
[ ] | 匹配括号内的任何单个字符。 | B[ae]ll找到了球和铃,但没有找到 Bill。 |
! | 匹配不在括号中的任何字符。 | b[!ae]ll找到 bill 和 bull,但找不到 ball 或 bell。 |