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(结构化查询语言)数据库,以及存储在Internet 或 Intranet Web 服务器。

  • Access 还可以理解和使用多种其他数据格式,包括许多其他数据库文件结构。

  • 您可以直接将数据导出到文字处理文件、电子表格或数据库文件中,也可以从这些文件中导入数据。

  • Access 可以与支持开放式数据库连接 (ODBC) 标准的大多数流行数据库一起使用,包括 SQL Server、Oracle 和 DB2。

  • 软件开发人员可以使用 Microsoft Access 来开发应用软件。

Microsoft Access 存储称为数据库的信息。要使用 MS Access,您需要遵循以下四个步骤 –

  • 数据库创建– 创建您的 Microsoft Access 数据库并指定您将存储的数据类型。

  • 数据输入– 创建数据库后,可以将每个工作日的数据输入到 Access 数据库中。

  • 查询– 这是一个花哨的术语,基本上描述了从数据库中检索信息的过程。

  • 报告(可选)- 来自数据库的信息组织在一个很好的演示文稿中,可以打印在访问报告中。

建筑学

  • Access 将任何可以具有名称的对象称为对象。在 Access 桌面数据库中,主要对象是表、查询、窗体、报表、宏、数据宏和模块。

  • 如果您在台式计算机上使用过其他数据库系统,您可能已经看到术语数据库仅用于指代那些存储数据的文件。

  • 但是,在 Access 中,桌面数据库 (.accdb) 还包括与存储数据相关的所有主要对象,包括您定义以自动使用数据的对象。

Ms Access – RDBMS

就其布局和导航方面而言,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 为响应定义的事件而执行的一个或多个操作的结构化定义。访问宏是用于执行某些工作的脚本。例如,要创建一个打开报表的按钮,您可以使用一个宏来触发 OpenReport 操作。

  • 您可以在宏中包含简单的条件来指定何时执行或跳过宏中的一个或多个操作。

  • 您可以使用宏来打开和执行查询、打开表或者打印或查看报告。

  • 您还可以从宏中运行其他宏或 Visual Basic 过程。

  • 数据宏可以直接附加到表事件,例如插入新记录、编辑现有记录或删除记录。

  • Web 应用程序中的数据宏也可以是可以从其他数据宏或宏对象调用的独立对象。

模块

模块是桌面数据库中的一个对象,其中包含您使用 Visual Basic 编码的自定义过程。模块提供了更离散的操作流,并允许您捕获错误。

  • 可以在宏中完成的所有事情也可以在模块中完成,但是您没有获得提示您每个操作需要什么的宏界面。

  • 模块要强大得多,如果您计划为多用户环境编写代码,这些模块是必不可少的,因为宏不能包括错误处理。

  • 模块可以是包含可以从应用程序中任何地方调用的函数的独立对象,或者它们可以直接与窗体或报表相关联以响应相关窗体或报表上的事件。

Ms Access – 创建数据库

在本章中,我们将介绍启动 Access 和创建数据库的基本过程。本章还将解释如何使用模板创建桌面数据库以及如何从头开始构建数据库。

要从模板创建数据库,我们首先需要打开 MS Access,您将看到以下屏幕,其中显示了不同的 Access 数据库模板。

模板

要查看所有可能的数据库,您可以向下滚动,也可以使用搜索框。

让我们在搜索框中输入项目,然后按 Enter。您将看到与项目管理相关的数据库模板。

项目管理

选择第一个模板。您将看到与此模板相关的更多信息。

模板信息

选择与您的要求相关的模板后,在文件名字段中输入名称,如果需要,您还可以为文件指定另一个位置。

文件名

现在,按“创建”选项。Access 将下载该数据库模板并打开一个新的空白数据库,如下面的屏幕截图所示。

文件名

现在,单击左侧的导航窗格,您将看到该数据库附带的所有其他对象。

导航窗格

单击项目导航并在菜单中选择对象类型。

选择对象类型

您现在将看到所有对象类型——表、查询等。

对象类型

创建空白数据库

有时数据库要求可能非常具体,以至于使用和修改现有模板需要做更多的工作,而不仅仅是从头开始创建数据库。在这种情况下,我们使用空白数据库。

第 1 步– 现在让我们从打开 MS Access 开始。

空白数据库

步骤 2 – 选择空白桌面数据库。输入名称并单击“创建”按钮。

创建按钮

第 3 步– Access 将创建一个新的空白数据库,并将打开也是完全空白的表。

创建表

Ms Access – 数据类型

表中的每个字段都有属性,这些属性定义了字段的特征和行为。字段最重要的属性是其数据类型。字段的数据类型决定了它可以存储的数据类型。MS Access 支持不同类型的数据,每种数据都有特定的用途。

  • 数据类型决定了用户可以存储在任何给定字段中的值的类型。
  • 每个字段可以存储仅由单一数据类型组成的数据。

以下是典型的 Microsoft Access 数据库中使用的一些最常见的数据类型。

Type of Data 描述 尺寸
Short Text 文本或文本与数字的组合,包括不需要计算的数字(例如电话号码)。 最多 255 个字符。
Long Text 冗长的文本或文本和数字的组合。 最多 63, 999 个字符。
Number 用于数学计算的数字数据。 1、2、4 或 8 个字节(如果设置为复制 ID,则为 16 个字节)。
Date/Time 100 到 9999 年的日期和时间值。 8 字节
Currency 用于数学计算的货币值和数字数据,涉及具有一到四位小数的数据。 8 字节
AutoNumber 每当向表中添加新记录时,由 Microsoft Access 分配的唯一顺序(加 1)数或随机数。 4 个字节(如果设置为复制 ID,则为 16 个字节)。
Yes/No 是和否值以及仅包含两个值之一(是/否、真/假或开/关)的字段。 1 位。
  • 如果您使用早期版本的 Access,您会发现其中两种数据类型有所不同。

  • 在 Access 2013 中,我们现在有两种数据类型——短文本和长文本。在以前版本的 Access 中,这些数据类型称为文本和备忘录。

  • 文本字段称为短文本,而您的备注字段现在称为长文本。

以下是一些其他更专业的数据类型,您可以在 Access 中进行选择。

Data Types 描述 尺寸

Attachment

文件,例如数码照片。每个记录可以附加多个文件。此数据类型在早期版本的 Access 中不可用。

最多约 2 GB。

OLE objects

OLE 对象可以存储图片、音频、视频或其他 BLOB(二进制大对象)

最多约 2 GB。

Hyperlink

文本或文本和数字的组合存储为文本并用作超链接地址。

最多 8,192 个(超链接数据类型的每个部分最多可包含 2048 个字符)。

Lookup Wizard

设计视图中数据类型列中的查找向导条目实际上不是一种数据类型。当您选择此条目时,向导会开始帮助您定义简单或复杂的查找字段。

简单的查找字段使用另一个表或值列表的内容来验证每行单个值的内容。复杂的查找字段允许您在每一行中存储多个相同数据类型的值。

取决于查找字段的数据类型。

Calculated

您可以创建一个使用来自一个或多个字段的数据的表达式。您可以从表达式中指定不同的结果数据类型。

您可以创建一个使用来自一个或多个字段的数据的表达式。您可以从表达式中指定不同的结果数据类型。

在 Microsoft Access 表中创建字段时,您可以从中选择所有不同的数据类型。

Ms Access – 创建表

创建数据库时,您将数据存储在表中。因为其他数据库对象非常依赖表,所以您应该始终通过创建数据库的所有表然后创建任何其他对象来开始您的数据库设计。在创建表之前,请仔细考虑您的要求并确定您需要的所有表。

让我们尝试创建第一个表来存储有关员工的基本联系信息,如下表所示 –

Field Name 数据类型
EmployeelD 自动编号
FirstName 短文
LastName 短文
Address1 短文
Address2 短文
City 短文
State 短文
Zip 短文
Phone 短文
Phone Type 短文

现在让我们将短文本作为所有这些字段的数据类型,并在 Access 中打开一个空白数据库。

家

这是我们离开的地方。我们创建了数据库,然后 Access 会自动为一个表打开这个单表数据表视图。

字段

现在让我们转到 Field 选项卡,您将看到它也是自动创建的。作为自动编号字段的 ID 充当我们的唯一标识符,并且是此表的主键。

ID 字段已经创建,我们现在想要重命名它以适应我们的条件。这是一个员工表,这将是我们员工的唯一标识符。

唯一标识符

单击功能区中的名称和标题选项,您将看到以下对话框。

字段属性

将此字段的名称更改为EmployeeID以使其更特定于此表。如果需要,请输入其他可选信息,然后单击确定。

表格1

我们现在有了带有标题员工 ID 的员工 ID 字段。这会自动设置为自动编号,因此我们实际上不需要更改数据类型。

现在让我们通过单击click to add 添加更多字段

点击添加

选择短文本作为字段。当您选择短文本时,Access 将自动突出显示该字段名称,您只需键入字段名称。

短文

键入FirstName作为字段名称。同样,添加所有必填字段,如下面的屏幕截图所示。

名

添加所有字段后,单击“保存”图标。

您现在将看到另存为对话框,您可以在其中输入表的表名。

另存为

在表名称字段中输入表的名称。这里的tbl前缀代表表。让我们单击“确定”,您将在导航窗格中看到您的表格。

桌子

表设计视图

因为我们已经使用Datasheet View创建了一张表我们现在将使用表设计视图创建另一个表我们将在此表中创建以下字段。这些表将存储各种图书项目的一些信息。

Field Name 数据类型
Project ID 自动编号
ProjectName 短文
ManagingEditor 短文
Author 短文
PStatus 短文
Contracts 附件
ProjectStart 约会时间
ProjectEnd 约会时间
Budget 货币
ProjectNotes 长文本

现在让我们转到“创建”选项卡。

创建标签

在表格组中,单击表格,您可以看到这与数据表视图完全不同。在此视图中,您可以并排看到字段名称数据类型

设计选项卡

我们现在需要将ProjectID作为该表的主键,因此让我们选择ProjectID并单击功能区中的Primary Key选项。

首要的关键

字段名称

您现在可以看到一个小钥匙图标,该图标将显示在该字段旁边。这表明该字段是表主键的一部分。

让我们保存该表并为该表命名。

Saveas项目

单击“确定”,您现在可以在“数据表视图”中查看此表的外观。

数据表视图

让我们单击功能区左上角的数据表视图按钮。

左角球

如果您想对此表或任何特定字段进行更改,您不必总是返回到设计视图来更改它。您也可以从数据表视图中更改它。让我们更新 PStatus 字段,如下面的屏幕截图所示。

状态

单击确定,您将看到更改。

项目状态

Ms Access – 添加数据

Access 数据库不是与 Microsoft Office Word 文档或 Microsoft Office PowerPoint 具有相同意义的文件。相反,Access 数据库是一组对象(如表、表单、报表、查询等)的集合,这些对象必须协同工作才能使数据库正常运行。我们现在已经创建了两个表,其中包含数据库中必需的所有字段和字段属性。若要在 Access 中查看、更改、插入或删除表中的数据,可以使用表的数据表视图。

  • 数据表是一种无需任何特殊格式即可查看行和列中数据的简单方法。

  • 每当您创建新的 Web 表时,Access 都会自动创建两个视图,您可以立即开始使用它们进行数据输入。

  • 在数据表视图中打开的表类似于 Excel 工作表,您可以在一个或多个字段中键入或粘贴数据。

  • 您不需要明确保存您的数据。当您将光标移动到同一行中的新字段或将光标移动到另一行时,Access 会提交您对表的更改。

  • 默认情况下,Access 数据库中的字段设置为接受特定类型的数据,例如文本或数字。您必须输入字段设置为接受的数据类型。如果不这样做,Access 会显示一条错误消息 –

让我们通过打开我们创建的 Access 数据库将一些数据添加到您的表中。

数据库

选择功能区中的“视图”→“数据表视图”选项并添加一些数据,如下面的屏幕截图所示。

数据表

同样,在第二个表中添加一些数据,如下面的屏幕截图所示。

添加数据

您现在可以看到,在数据表视图中插入新数据和更新现有数据非常简单,就像在电子表格中一样。但是,如果要删除任何数据,则需要先选择整行,如下面的屏幕截图所示。

插入数据

现在按删除按钮。这将显示确认消息。

使用权

单击,您将看到所选记录已被删除。

所选记录

Ms Access – 查询数据

查询是对数据结果和对数据的操作的请求。您可以使用查询来回答简单的问题、执行计算、合并来自不同表的数据,甚至添加、更改或删除表数据。

  • 随着表大小的增长,它们可能有数十万条记录,这使得用户无法从该表中挑选出特定的记录。

  • 通过查询,您可以对表的数据应用过滤器,以便您只获得所需的信息。

  • 用于从表中检索数据或进行计算的查询称为选择查询。

  • 添加、更改或删除数据的查询称为操作查询。

  • 您还可以使用查询为表单或报表提供数据。

  • 在设计良好的数据库中,您希望使用窗体或报表显示的数据通常位于多个不同的表中。

  • 查询的棘手部分是您必须先了解如何构建查询,然后才能实际使用它们。

创建选择查询

如果您只想查看表中特定字段的数据,或者同时查看多个表中的数据,或者只是查看基于特定条件的数据库,则可以使用Select查询。现在让我们看一个简单的例子,我们将在其中创建一个简单的查询,该查询将从tblEmployees表中检索信息打开数据库并单击“创建”选项卡。

创建选择

单击查询设计

查询设计

在“表”选项卡的“显示表”对话框中,双击tblEmployees表,然后关闭对话框。

显示表

在 tblEmployees 表中,双击您希望作为查询结果查看的所有字段。将这些字段添加到查询设计网格,如下面的屏幕截图所示。

添加字段

现在单击设计”选项卡上的“运行”,然后单击“运行”

设计

查询运行,并仅显示查询中指定的那些字段中的数据。

Ms Access – 查询条件

查询条件可帮助您从 Access 数据库中检索特定项目。如果某个项目符合您输入的所有条件,它就会出现在查询结果中。当您想根据字段中的值限制查询结果时,您可以使用查询条件。

  • 查询条件是 Access 与查询字段值进行比较以确定是否包括包含每个值的记录的表达式。

  • 一些标准很简单,并使用基本的运算符和常量。其他的很复杂,使用函数、特殊运算符并包括字段引用。

  • 要将某些条件添加到查询中,您必须在设计视图中打开查询。

  • 然后确定要为其指定条件的字段。

例子

让我们看一个简单的例子,在这个例子中我们将在查询中使用条件。首先打开您的 Access 数据库,然后转到“创建”选项卡并单击“查询设计”。

查询设计

在 Show Table 对话框的 Tables 选项卡中,双击tblEmployees表,然后关闭对话框。

员工

现在让我们向查询网格添加一些字段,例如 EmployeeID、FirstName、LastName、JobTitle 和 Email,如下面的屏幕截图所示。

查询网格

现在让我们运行您的查询,您将只看到这些字段作为查询结果。

查询结果

如果您只想查看那些 JobTitle 是营销协调员的人,那么您需要为此添加条件。让我们再次转到 Query Design,在 JobTitle 的 Criteria 行中输入 Marketing Coordinator。

营销协调员

现在让我们再次运行您的查询,您将看到只检索到营销协调员的职位。

已检索

如果要为多个字段添加条件,只需在多个字段中添加条件即可。假设我们只想检索“营销协调员”和“会计助理”的数据;我们可以指定 OR 行运算符,如下面的屏幕截图所示 –

会计助理

现在让我们再次运行您的查询,您将看到以下结果。

运行查询

如果您需要使用AND运算符的功能,则必须在 Criteria 行中指定其他条件。假设我们要检索所有会计助理,但仅检索姓氏为“Pollard”的营销协调员职位。

和运算符

现在让我们再次运行您的查询,您将看到以下结果。

运行查询

Ms Access – 操作查询

在 MS Access 和其他 DBMS 系统中,查询不仅可以显示数据,还可以对数据库中的数据执行各种操作。

  • 操作查询是可以一次添加、更改或删除多条记录的查询。

  • 额外的好处是您可以在运行之前在 Access 中预览查询结果。

  • Microsoft Access 提供 4 种不同类型的操作查询 –

    • 附加

    • 更新

    • 删除

    • 制作表

  • 操作查询无法撤消。您应该考虑对将使用更新查询更新的任何表进行备份。

创建追加查询

您可以使用追加查询从一个或多个表中检索数据并将该数据添加到另一个表中。让我们创建一个新表,我们将在其中添加tblEmployees表中的数据这将是用于演示目的的临时表。

让我们称之为TempEmployees,它包含如下屏幕截图所示的字段。

临时雇员

临时雇员表

在“表”选项卡的“显示表”对话框中,双击tblEmployees表,然后关闭对话框。双击要显示的字段。

表格对话框

让我们先运行您的查询以显示数据。

数据优先

现在让我们回到 Query design 并选择Append按钮。

附加

在查询类型中,选择附加选项按钮。这将显示以下对话框。

附加表名

从下拉列表中选择表名,然后单击确定。

查询1

在 Query 网格中,您可以看到在Append To行中,除Address1之外的所有字段都被默认选中这是因为该Address1字段在TempEmployee表中不可用因此,我们需要从下拉列表中选择字段。

附加到

让我们看看地址字段。

地址字段

现在让我们运行您的查询,您将看到以下确认消息。

确认讯息

单击是以确认您的操作。

添加数据

当您打开TempEmployee表时,您将看到所有数据都从 tblEmployees 添加到了 TempEmployee 表。

Ms Access – 创建查询

让我们了解如何在本章中创建查询。

创建更新查询

您可以使用更新查询来更改表中的数据,并且您可以使用更新查询来输入条件以指定应更新哪些行。更新查询使您有机会在执行更新之前查看更新的数据。让我们再次转到 Create 选项卡并单击 Query Design。

查询设计

在“表”选项卡的“显示表”对话框中,双击tblEmployees表,然后关闭对话框。

关闭对话框

在“设计”选项卡的“查询类型”组中,单击“更新”并双击要更新值的字段。假设我们要将“Rex”的名字更新为“Max”。

设计选项卡最大值

设计网格更新行中,输入更新后的值,并在条件行中添加要更新的原始值并运行查询。这将显示确认消息。

更新记录

单击Yes并转到 Datasheet View,您将看到第一条记录 — FirstName 现在已更新为“Max”。

第一条记录

创建删除查询

您可以使用删除查询从表中删除数据,也可以使用删除查询输入条件来指定应删除哪些行。删除查询使您有机会在执行删除之前查看将被删除的行。让我们再次转到Create选项卡并单击Query Design

查询设计

在“显示表”对话框的“表”选项卡中,双击tblEmployees表,然后关闭该对话框。

属性表

Design选项卡上的Query Type组中,单击Delete并双击EmployeeID

员工ID

在 Design Grid 的 Criteria 行中,键入 11。这里我们要删除 EmployeeID 为 11 的员工。

描述

现在让我们运行查询。此查询将显示确认消息。

显示查询

单击并转到您的数据表视图,您将看到指定的员工记录已被删除。

指定记录

创建生成表查询

您可以使用生成表查询从存储在其他表中的数据创建新表。让我们再次转到Create 选项卡并单击Query Design

查询设计

在“表”选项卡的“显示表”对话框中,双击tblEmployees表,然后关闭该对话框。

制作桌子

选择要复制到另一个表的所有字段。

另一张桌子

在查询类型中,选择制作表选项按钮。

制作表格按钮

您将看到以下对话框。输入要创建的新表的名称,然后单击“确定”。

输入新表

现在运行您的查询。

运行您的查询

您现在将看到以下消息。

撤消命令

单击,您将看到在导航窗格中创建了一个新表。

创建新表

Ms Access – 参数查询

关于查询的最好的部分是您可以一次又一次地保存和运行相同的查询,但是当您一次又一次地运行相同的查询时,只更改条件,那么您可能会考虑该查询接受参数。

  • 如果您经常想运行特定查询的变体,请考虑使用参数查询

  • 参数查询以交互方式检索信息,提示最终用户在运行查询之前提供条件。

  • 您还可以指定参数应接受的数据类型。

  • 您可以为任何参数设置数据类型,但为数字、货币或日期/时间数据设置数据类型尤为重要。

  • 当您指定参数应接受的数据类型时,如果用户输入错误类型的数据(例如在需要货币时输入文本),则会看到更有帮助的错误消息。

  • 如果参数设置为接受文本数据,则任何输入都被解释为文本,并且不会显示错误消息。

例子

现在让我们通过创建一个参数查询来看看一个简单的例子。让我们打开您的数据库并在“创建表”选项卡中选择“查询设计”。

温度2

双击tblProjects并关闭Show对话框。

项目

选择您希望作为查询结果查看的字段,如下面的屏幕截图所示。

选择

在查询设计网格中,在 ProjectStart 列的 Criteria 行中,键入[Enter a project start data]字符串[Enter a project start data]是您的参数提示。方括号表示您希望查询要求输入,文本为Enter a project start data是参数提示显示。

开始日期

现在让我们运行您的查询,您将看到以下提示。

参数值

现在让我们输入以下日期。

输入起始数据

单击“确定”进行确认。

确认

因此,您将看到 2007 年 2 月 1 日开始的项目的详细信息。让我们转到设计视图并再次运行查询。

细节

在上面的屏幕截图中输入日期,然后单击“确定”。您现在将看到于 2008 年 5 月 1 日开始的项目的详细信息。

Ms Access – 替代标准

查询具有许多优点。您可以一次又一次地保存和运行相同的查询,并且很多时候您想要添加替代条件。

您可以通过以下两种方式添加替代条件 –

  • 您可以使用 OR 运算符来组合两组条件。
  • 您也可以使用查询设计网格,但不是在同一行中指定条件,而是需要将其分隔成多行。

例子

让我们看一个替代标准的简单示例。打开数据库并在 Create 选项卡中选择Query Design

查询设计员工

双击tblEmployee并关闭 Show Table 对话框。

选择显示表格

双击您希望作为查询结果查看的所有字段。

查询结果字段

您现在可以看到在姓氏字段的不同行中指定了备用标准运行此查询时,您将看到姓氏为PollardManning的员工现在让我们运行这个查询。

姓

如您所见,由于备用条件,只检索到了两名员工。

如果要在多个字段中添加替代条件,则必须为所有字段使用不同的行。现在让我们添加另一个替代标准,我们可以在其中检索姓氏为PollardManning或职位为Accounting Assistant 的员工的信息

现在让我们运行这个查询。

职称

您现在将看到以下结果。

结果

Ms Access – 相关数据

在本章中,我们将了解关联数据的基础知识。在讨论和创建不同数据之间的关系之前,让我们回顾一下我们为什么需要它。这一切都回到正常化。

正常化

数据库规范化,或简称规范化,是组织关系数据库的列(属性)和表(关系)以最小化数据冗余的过程。它是跨多个表拆分数据以提高整体性能、完整性和寿命的过程。

  • 规范化是在数据库中组织数据的过程。

  • 这包括根据旨在保护数据和通过消除冗余和不一致依赖性使数据库更加灵活的规则创建表并在这些表之间建立关系。

现在让我们看看包含数据的下表,但问题是这些数据非常冗余,这增加了数据输入过程中出现拼写错误和措辞不一致的可能性。

CustID 名称 地址 曲奇饼 数量 价格 全部的
1 埃塞尔史密斯 12 Main St, 阿灵顿, VA 22201 S 巧克力片 5 2.00 美元 10.00 美元
2 汤姆威尔伯 1234 Oak Dr., Pekin, IL 61555 巧克力片 3 2.00 美元 6.00 美元
3 埃希尔·史密斯 弗吉尼亚州阿灵顿大街 12 号,邮编 22201 巧克力片 5 2.00 美元 10.00 美元

为了解决这个问题,我们需要重组我们的数据并将其分解成多个表以消除其中的一些冗余,如下三个表所示。

三桌

在这里,我们为客户准备了一张桌子,2nd 一个用于订单,而 3rd 一种是用于 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作为表名,然后单击Ok

TblHR数据

tblHRData现在已创建,其中包含数据。

Ms Access – 一对一的关系

现在让我们了解 MS Access 中的一对一关系。此关系用于将一张表中的一条记录与另一张表中的一条记录相关联。

现在让我们转到“数据库工具”选项卡。

TblHR数据

单击关系选项。

关系

选择tblEmployeestblHRData,然后单击 Add 按钮将它们添加到我们的视图中,然后关闭Show Table对话框。

添加到视图

为了创建这两个表之间的关系,用鼠标,点击并按住雇员从外地tblEmployees和拖放上,我们希望通过将鼠标悬停鼠标右键来涉及该领域的那场雇员tblHRData当您释放鼠标按钮时,Access 将打开以下窗口 –

编辑关系

上面的窗口将 tblEmployees 的 EmployeeID 与 tblHRData 的 EmployeeID 相关联。现在让我们点击Create按钮,现在这两个表是相关的。

创建了两个表

关系现在会自动保存,无需单击“保存”按钮。既然我们已经创建了最基本的关系,现在让我们到桌子边看看这个关系发生了什么。

让我们打开tblEmployees表。

员工表

在这里,在每条记录的左侧,默认情况下您会看到一个小加号。创建关系时,Access 会自动向该表添加子数据表。

子数据表

让我们单击加号,您将看到与此记录相关的信息位于tblHRData表中。

雇用日期

点击保存图标,打开tblHRData,你会看到我们输入的数据已经在这里了。

输入的数据

Ms Access – 一对多关系

您的绝大多数关系很可能是这种一对多关系,其中一个表中的一个记录有可能与另一个表中的许多记录相关。

创建一对多关系的过程与创建一对一关系的过程完全相同。

一对多

让我们首先通过单击设计”选项卡上的“清除布局”选项清除布局

数据库工具

我们将首先添加另一个表tblTask​​s,如下面的屏幕截图所示。

任务表

单击“保存”图标并输入tblTask​​s作为表名,然后转到“关系”视图。

任务关系

单击“显示表”选项。

显示表任务

添加tblProjectstblTask​​s并关闭Show Table对话框。

添加项目

我们可以再次运行相同的过程来关联这些表。单击并按住 tblProjects 中的 ProjectID,然后将其从 tblTask​​s 一直拖到 ProjectID。此外,当您释放鼠标时,会弹出一个关系窗口。

项目编号

单击创建按钮。我们现在创建了一个非常简单的关系。

建立关系

Ms Access – 多对多关系

在本章中,让我们了解多对多关系。要表示多对多关系,您必须创建第三个表,通常称为联结表,它将多对多关系分解为两个一对多关系。为此,我们还需要添加一个连接表。让我们首先添加另一个表tblAuthers

TblAuthers

现在让我们创建一个多对多关系我们有不止一位作者从事不止一个项目,反之亦然。如您所知,我们在 tblProjects 中有一个 Author 字段,因此我们为它创建了一个表。我们不再需要这个字段。

TblAuthers 描述

选择作者字段并按删除按钮,您将看到以下消息。

对话框

单击我们现在必须创建一个连接表。该联结表中有两个外键,如下面的屏幕截图所示。

外键

这些外键字段将是来自链接在一起的两个表的主键 – tblAutherstblProjects

要在 Access 中创建复合键,请选择这两个字段,然后从表工具设计选项卡中直接单击该主键,这将标记这两个字段而不是其中一个。

表工具设计

这两个字段的组合是表的唯一标识符现在让我们将此表保存为tblAuthorJunction

将多对多关系组合在一起的最后一步是返回该关系视图并通过单击Show Table创建这些关系

选择上面三个突出显示的表,然后单击“添加”按钮,然后关闭此对话框。

突出显示的表格

单击并拖动tblAuthors 中AuthorID字段,并将其放置在tblAuthorJunctionAuthorID 的顶部

TblAuthers 交界处

您正在创建的关系是 Access 将视为一对多关系的关系。我们还将强制执行参照完整性。现在让我们打开Cascade Update并单击上面屏幕截图中Create按钮。

级联

现在,让我们保持专案编号,拖放它的权利之上专案编号tblAuthorJunction

参考键

我们将强制执行引用完整性级联更新相关字段

级联更新

以下是多对多关系。

多对多

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 支持的字符 –

Character 描述 例子
* 匹配任意数量的字符。您可以在字符串中的任何位置使用星号 (*)。 wh*找到什么,白色,以及为什么,但不是一会儿或观看。
? 匹配任何单个字母字符。 B?ll找到 ball、bell 和 bill。
[ ] 匹配括号内的任何单个字符。 B[ae]ll找到 ball 和 bell,但找不到 bill。
! 匹配任何不在括号中的字符。 b[!ae]ll查找 bill 和 Bull,但不查找 ball 或 bell。
匹配一系列字符中的任何一个。您必须按升序指定范围(A 到 Z,而不是 Z 到 A)。 b[ac]d查找 bad、bbd 和 bcd。
# 匹配任何单个数字字符。 1#3S找到 103、113 和 123。

ANSI-92 通配符

下表列出了 ANSI-92 支持的字符 –

Character 描述 例子
% 匹配任意数量的字符。它可以用作字符串中的第一个或最后一个字符。 wh%找到什么,白色,以及为什么,但不是一会儿或观看。
_ 匹配任何单个字母字符。 B_ll查找 ball、bell 和 bill。
[ ] 匹配括号内的任何单个字符。 B[ae]ll找到 ball 和 bell,但找不到 bill。
^ 匹配任何不在括号中的字符。 b[^ae]ll查找 bill 和 Bull,但不查找 ball 或 bell。
匹配一系列字符中的任何一个。您必须按升序指定范围(A 到 Z,而不是 Z 到 A)。 b[ac]d查找 bad、bbd 和 bcd。

例子

现在让我们通过打开查询设计看一个使用这些通配符的简单示例。

添加突出显示的表格并关闭“显示表格”对话框。

粘贴错误

在查询网格中添加您希望作为查询结果查看的字段。

添加查询网格

运行您的查询。

运行查询项目

让我们再次进入查询设计并添加项目名称提示。

查询2

现在运行您的查询,让我们假设您不知道确切的项目名称,但您知道项目名称包含单词“potion”。单击确定

药水

上述步骤不会产生任何结果。这是因为 Access 正在寻找项目名称字段中的完全匹配项它正在寻找名称中带有Potion一词的项目

如果您希望用户可以输入通配符来替换未知字符,那么您需要调整条件并包含.

喜欢运算符

运行查询时,用户可以使用通配符替换任意数量的字符。

字符数

让我们假设您知道药水这个词出现在标题的某个地方,但您不确定在哪里。

您可以添加一个 * 来替换单词 potion 之前的任意数量的字符,然后在 the 之后添加另一个 *。单击确定

添加药水

药水卷轴

用户知道他们可以输入的通配符总是好的。但是有些用户可能不知道他们可以输入和不能输入的通配符。在这种情况下,您可以自己输入通配符。

在这种情况下,在Like运算符和我们的参数提示之间,我们可以添加这些通配符,现在我们必须以一种非常具体的方式来编写它。在引号中的单词like之后,输入我们正在使用的通配符。在这种情况下,我们使用“*”来替换任意数量的字符。我们现在将其添加到参数中。为此,我们需要与号 (&)符号和一个空格。我们现在将重复此步骤并添加另一个与号 (&),因为我们将该通配符加入到用户为该项目名称输入的任何条件中,然后加入引号中的“*”。

喜欢输入名字

现在让我们再次运行我们的查询。在提示中输入词药水,不带任何通配符。

药水

查询现在将在此处输入的任何内容的任一侧跟踪这些通配符。我们需要简单地输入药水并按回车键。

药水卷轴

我们现在得到了我们正在寻找的结果,无论用户输入什么,结果都是一样的。

假设我们想找到标题中带有“the”一词的每个项目。然后,您只需输入单词并Enter或单击Ok

参数

母语

使用此查询,可以更轻松地搜索名称中带有“the”一词的项目。2nd 结果级别还可能包括带有“mother”一词的项目名称,其中“the”是该词的一部分。

Ms Access – 计算表达式

在 MS Access 中,表达式就像 Excel 中的公式。这由许多元素组成,这些元素可以单独使用或组合使用以产生结果。表达式可以包括运算符、常量、函数和标识符。

  • 表达式可用于执行各种任务,从检索控件的值或向查询提供条件到创建计算控件和字段或定义报告的组级别。

  • 在本章中,我们将专注于创建一种非常特殊的表达式,称为计算表达式。我们将创建几个计算字段,这些字段将计算和显示未存储在数据库本身任何位置而是从存储的单独字段计算的数据。

我们现在有一个新的 Access 数据库,其中包含更多要计算的数据。

例子

让我们尝试一个例子来理解这一点。我们将从各种表中检索一些信息 — tblCustomers、tblOrders、tblOrdersDetailstblBooks,并查看各种字段。

审查

现在让我们运行查询,您将看到以下结果。

小计

我们想要一个非常简单的小计计算方法,它将订购书籍的数量乘以书籍的零售价。每个表达式或任何表达式都以一个名称开头以调用该字段是一个好主意。让我们称之为小计

表达

完整的表达式(Subtotal: [tblOrdersDetails]![QTY]*[tblBooks]![RetailPrice])包括表名,方括号内的第一个 tblOrdersDetails 因为这是我们的数量字段所在的位置。现在感叹号告诉 Access 在该表中查找字段 QTY 并将其乘以 tblBooks 中的零售价格字段。

让我们尝试运行您的查询,您将在最后看到小计字段。

小计字段

假设我们要计算我们的销售税。在查询网格中,我们将以与之前完全相同的方式进行操作,这次我们将该字段简称为“税”,让我们将小计乘以 9% 的税率。

简单地征税

让我们再次运行您的查询,最后您将看到新的Tax 字段

小计字段

Ms Access – 索引

索引是一种数据结构,一种特殊的数据结构,旨在提高数据检索的速度。如果您经常按特定字段搜索表或对其记录进行排序,则可以通过为该字段创建索引来加速这些操作。Microsoft Access 使用表中的索引,就像您使用书中的索引查找数据一样。

  • 在某些情况下,例如对于主键,Access 会自动为您创建索引。
  • 在其他时候,您可能想要自己创建索引。
  • 索引根据您选择索引的一个或多个字段存储记录的位置。
  • Access 从索引中获取位置后,就可以通过直接移动到正确的位置来检索数据。
  • 通过这种方式,使用索引可以比扫描所有记录以查找数据快得多。
  • 索引可以加快查询中的搜索速度,但它们也会在添加或更新记录时降低性能。

现在让我们看看 Microsoft Access 默认创建哪些索引以及如何自己创建它们,并了解如何删除任何不必要的索引。在我们创建的 Access 数据库中打开tblEmployees表。

  • 我们还没有真正使用过这个数据库中的索引,但这并不意味着我们没有任何索引。
  • 实际上,在 Access 中设置为主键的任何字段都会自动编入索引。
  • Access 根据字段名称创建其他二级索引。

现在让我们转到“文件”菜单并选择“选项”。

文件菜单

您将看到“访问选项”窗口。

对象设计器

转到对象设计器,您将看到一个标记为“导入/创建时自动索引”的部分,在文本框中您将看到 ID;key;code;num。默认情况下,access 会自动向以这些名称开头或结尾的字段添加二级索引,这适用于您导入的字段以及您手动创建的字段。

如果要对任何字段进行索引,可以转到“字段”选项卡。

索引

选择您想要索引的任何字段,然后选中字段验证部分中的索引复选框。您还可以使用其他选项来创建或删除索引。您可以返回到设计视图

设计视图

您可以通过选择任何字段来调整索引。您还可以在下面的字段属性区域中查看它们的索引方式。索引旁边没有选择的任何字段表示该给定字段没有索引。您可以通过单击下拉菜单并选择其他两个选项来更改它 – Yes (Duplicate OK)Yes (No duplicates)

压缩

最后一个选项是(无重复)意味着 Access 将自动禁止该字段中的重复值。现在让我们为姓氏字段创建一个索引。

复制

让我们选择LastName进行索引并说Yes (Duplicates OK)在我们保存时,Access 将创建该索引。另一个可以查看和调整表索引的区域是显示/隐藏组中的表设计区域

重复 是

如果单击此索引按钮,将显示一个特殊视图,显示为该表创建的所有索引。

特别视图

我们现在有两个用于 tblEmployees 的索引——一个是基于主键字段自动创建的,另一个是我们刚刚为 LastName 字段创建的。这些是处理 Microsoft Access 表中索引的不同方法。

Ms Access – 分组数据

在本章中,我们将介绍如何在 Access 中计算一组记录。我们已经创建了一个逐行或逐记录计算的字段来创建行总计或小计字段,但是如果我们想按一组记录而不是单个记录向下计算怎么办。我们可以通过创建所谓的聚合查询来做到这一点

聚合查询

也称为总计或汇总查询的聚合查询是总和、质量或组详细信息。它可以是总金额或总金额,也可以是记录的组或子集。聚合查询可以执行许多操作。这是一个简单的表格,列出了对一组记录进行总计的一些方法。

S.No 聚合函数和描述
1.

Sum

添加字段值

2.

Avg

字段值的平均值

3.

Min

最低(最小)字段值

4.

Max

最高(最大)字段值

5.

Count

值的计数(记录)

6.

StDev

字段值的标准偏差,包括日期/时间字段

7.

Var

字段值的差异,包括日期/时间

让我们打开您的数据库并转到查询设计并包含以下表格 –

TblBooks

关闭此对话框,将显示以下两个字段,如以下屏幕截图中的查询网格所示。

截屏

这是一个简单的查询,我们只显示两个字段——书名数量,当我们运行它时,我们会看到数据库中的每个单独的订单。

现在让我们运行此查询,您将看到以下结果。

个人订单

这就是书名重复的原因。这里的每一本书都单独订购,订购的数量也不同。假设我们只想查看仅列出一次的书名的摘要。然后是旁边列出的数量的总和。

现在让我们转到设计视图,在设计选项卡中,您将看到一个 Sigma 符号。这是您的总计按钮。

截屏

单击 sigma 符号,这将在表格行中的字段下方打开另一行,您可以从此处指定如何分组此查询。

通过...分组

我们现在将按书名分组,并对数量字段求和。

如果我们单击按区域分组并进一步单击下拉菜单,则会列出所有选项。在这种情况下,我们将选择Sum选项,然后运行您的查询。

和

您现在可以看到每本书以及书名旁边显示的所有单独订单。

个人

Access 中的串联

我们学习了规范化的过程,将信息存储在不同的字段中。有时您希望一起查看或查看数据,例如将名字和姓氏字段组合为单个字段。您可以通过创建一个连接一个或多个字符串的计算字段来一起显示这些信息。您还可以添加其他字符,如您可能需要的逗号或句点。

  • 在Access连击,有两种不同的运营商可以使用符号(&)加号(+)标志。

  • & 符号将两个字符串合并为一个,而加号将两个字符串合并为一个字符串并传播 NULL 值,例如,如果一个值为 NULL,则整个表达式的计算结果为 null。

例子

让我们举一个简单的例子来理解使用查询设计创建新查询的过程。这将是一个非常简单的查询,它从我们的客户表中提取信息。

现在让我们添加tblCustomers表关闭显示表对话框。我们将尝试与一些简单的命名字段进行一些连接。

表客户

现在让我们添加名字和姓氏字段并运行查询。

如您所见,名字和姓氏被分成两个不同的字段。

表名

我们需要一起显示这些信息。

信息一起

返回设计视图并在第三个字段中创建一个名为full name的新字段现在,添加全名并键入将这两个字段连接在一起的表达式。

设计视图全名

让我们运行查询,您将看到一个新的计算字段。

计算字段

它可以将来自这两个字段的信息连接在一起,但它并不完全按照我们想要的方式出现。它将所有文本一起运行,因为它按照我们要求的方式执行。我们现在必须要求 Access 在来自这两个字段的信息之间添加空格。

现在让我们回到设计视图并为该表达式添加另一个部分。

设计视图全名

在引号和另一个&符号内添加一个空格。这使得 Access 从名字字段中获取信息;添加一个空格,然后在最后添加姓氏字段中的信息。现在,再次运行查询,您将看到以下结果。

计算字段

Ms Access – 汇总数据

如果您只查找一个特定数字,则聚合查询非常有用,但如果您想汇总信息,如电子表格形式的汇总,您可能需要考虑尝试交叉表查询。当您想要重组汇总数据以使其更易于阅读和理解时,请考虑使用交叉表查询

  • 交叉表查询是一种选择查询运行交叉表查询时,结果将显示在数据表中。此数据表与其他类型的数据表具有不同的结构。

  • 交叉表查询的结构比显示相同数据的简单选择查询更易于阅读,如下面的屏幕截图所示。

到目前为止,在 Access 中创建交叉表查询的最简单方法是简单地使用 Access 附带的向导来创建交叉表查询。现在让我们转到查询组中的创建选项卡,然后单击查询向导。

新查询

在上面的对话框中,您可以看到各种特殊查询。您可以创建一个简单的查询向导,就像我们迄今为止在设计视图中所做的那样。第二个是我们想要的——交叉表查询,以紧凑的电子表格格式显示数据。现在,选择交叉表查询并单击确定。

交叉表

向导中的第一个屏幕将提示哪个表或查询包含您想要用于交叉表查询结果的字段。单击Queries单选按钮并选择qryOrdersInformation — 这是我们之前创建的,其中包含小计、销售税等。单击Next

交叉表查询

我们现在将查看该查询中的可用字段。它将提示您输入想要作为行标题的字段值。假设我们想要一个包含所有不同书名的简单列表。现在选择书名字段并将其发送到您选择的字段区域,然后单击下一步

交易

在上面的对话框中,问题是您想将什么用作列标题,这实际上取决于您要评估的内容。让我们假设您想按日期查看我们的销售额,选择TransactionDate并单击Next

交易日期

上面对话框中的问题是基于我们之前选择的字段的专门问题,因为我们选择了日期时间列。它询问我们是否要按特定间隔对日期时间列信息进行分组。选择年份选项并单击下一步

功能

上述对话屏幕中的下一个问题询问您希望为行交叉点中的每一列计算多少数字。在这种情况下,我们可以通过从函数中选择数量 (QTY)和 Sum 并单击Next 来销售书籍的数量进行排序

查看查询

向导的最后一个屏幕将询问您想为查询命名什么,然后单击“完成”查看该查询

完成查询

我们现在有一本一本书的信息,还有关于总销售额的信息,比如这些销售中的每一个发生的时间。

Ms Access – 加入

数据库是数据表的集合,允许彼此之间存在逻辑关系。您可以使用关系按表的共同字段连接表。一个表可以是任意数量关系的一部分,但每个关系总是恰好有两个表。在查询中,关系由Join表示

什么是加入

联接指定如何组合来自数据库中两个或多个表的记录。从概念上讲,联接与表关系非常相似。实际上,联接就是查询表之间的关系。

以下是我们将在本章中讨论的两种基本类型的连接 –

  • 内连接
  • 外连接

这两者都可以从查询设计视图轻松创建

内部联接

现在让我们了解内部连接

  • 最常见的联接类型是内部联接,它也是 Microsoft Access 中的默认联接类型。
  • 内部联接将仅显示两个表中联接字段相等的行或记录。
  • 此连接类型查看那些常见字段和其中包含的数据。它只显示匹配项。

内部联接

外连接

现在让我们了解什么是外连接

  • 外部联接显示一个表中的所有行,并且仅显示另一表中联接字段相等的那些行或记录。
  • 换句话说,外连接显示一个表中的所有行,而只显示另一个表中的相应行。

外连接

还有其他连接类型 –

左外连接和右外连接

现在让我们了解左外连接右外连接

  • 您可以选择将显示所有行的表。
  • 您可以创建一个左外连接,它将包含第一个表中的所有行。

左加入

  • 您可以创建一个右外部联接,其中将包括第二个表中的所有行。

右加入

现在让我们转到Create选项卡并从Design View创建一个查询选择tblProjectstblTask​​s并关闭 Show Table 对话框,如下面的屏幕截图所示。

表任务

添加项目名从外地tblProjectsTaskTitle,起始日期交货期tblTask​​s表。

添加项目名称

现在让我们运行查询。

项目详情

我们只显示几个项目的记录。其中一些项目有很多与该项目相关的任务,这些信息通过ProjectID字段相关联

  • 当我们在 Microsoft Access 中创建此查询时,Access 将从我们创建的关系中获取此关系。

  • 默认情况下,它会在这两个字段之间、这两个表之间创建所谓的内部联接,这就是它如何将这两个表中的信息关联在一起。

  • 它仅向我们显示匹配项,因此当我们运行此查询时,tblProjects列出的许多其他项目并未作为我们在此查询中设置的记录的一部分出现,这是因为这两个表是如何连接的一起,通过该内部联接,这也是任何查询的默认联接。

但是,如果您想改变关系,假设您想创建一个外部联接或者换句话说,显示tblProjects 中的所有项目、该表中的每条记录,以及来自tblTask​​s — 打开连接属性;我们只需双击关系线即可完成此操作。

加入属性

Access 将在“联接属性”对话框中显示左表名和右表名。

  • 左列名和右列名以及第一个单选按钮仅包含两个表中的连接字段相等的行,即内连接,这是创建关系时默认选择的内容,创建连接时在查询中,但是,您可以更改它。

  • 我们还有另外两个选择;我们可以包含来自tblProjects 的所有记录,并且只有来自tblTask​​s 的那些连接字段相等的记录,并且这是左外连接。

  • 我们有第三个选项,包括来自 tblTask​​s 的所有记录,并且仅包括来自 tblProjects 的那些连接字段相等的记录,这是右外连接。

这些是您可以从设计视图轻松创建的不同类型的连接。让我们选择第二个选项,即 Left Outer Join,然后单击Ok

现在让我们看看其他步骤 –

其他步骤

当您查看关系线时,您会tblTask​​s 中看到一个指向ProjectID的小箭头运行此查询时,您将看到以下结果。

箭头指向结果

如您所见,它向我们展示了每个项目名称,无论它是否具有相关任务。您还将看到一堆空字段。所有这些都将是空白的,因为在这些字段来自的tblTask​​s 中没有相关信息现在让我们再次转到设计视图并双击关系线。

相关任务

在 Join Properties 对话框中,选择 Right Outer Join 的第三个选项,然后单击Ok

其他步骤

现在看看我们的关系线。你会看到一个小箭头正在朝着指向专案编号tblProjects运行此查询时,您将看到以下结果。

关系线

自连接

自联接是另一种联接。自联接关联来自同一表中的匹配字段。例如,查看带有主管字段的员工表,该表引用存储在同一表中另一个字段中的相同类型的数字 — 员工 ID。

自连接

如果我们想知道 Kaitlin Rasmussen 的主管是谁,我们必须获取存储在该主管字段中的号码,并在该员工 ID 字段的完全相同的表中查找它,以便知道 Charity Hendricks 是主管。

该表不是关系数据库的理想结构,因为它没有规范化。

如果我们想创建一个只列出员工姓名及其主管姓名的查询的情况,除非我们创建一个自联接,否则我们没有简单的方法可以查询。

要查看自联接,请创建一个包含以下字段的表并输入一些数据。

创建表

在这里,我们要再次创建一个列表,其中包含员工的名字和主管的名字。让我们从查询设计视图创建一个查询

现在,添加tblEmployees表。

添加 TblEmployees

关闭此对话框。

现在,为我们的员工添加名字和姓氏。

员工姓名

我们现在需要一种方法来在此表与其自身之间创建关系。为此,我们需要打开show table 对话框并再次添加 tblEmployees。

显示表格对话框

我们在这个查询视图中创建了同一个表的另一个副本。现在,我们需要创建自联接。为此,请单击tblEmployees表中的Supervisor并按住鼠标按钮并将其放在该复制表中EmployeeID 的正上方tblEmployees_1然后,添加该复制表中的名字和姓氏。

创建自联接

现在让我们运行您的查询,您将看到以下结果。

显示名称

它显示员工姓名和主管姓名。而且,这就是您在 Microsoft Access 中创建自联接的方式。

Ms Access – 重复查询向导

在本教程中,我们创建了各种选择查询,主要来自设计视图。但是在 Access 中,我们可以利用一些特殊的查询向导来创建几个特定的​​选择查询。第一个是 Find Duplicates Query 向导。Find Duplicates Query Wizard 将创建一个查询,用于在单个表或查询中查找具有重复字段值的记录。

正如我们所讨论的,关系数据库旨在避免存储重复信息。但是尽管有这种设计,有时用户会不小心输入重复的信息。

例子

在客户的表中,您可以将同一客户意外添加两次。在这种情况下,客户将拥有相同的地址,但客户 ID 不同,这可能会导致报告问题。在这种情况下,您可以利用重复项查询向导快速定位可能的重复项

现在让我们打开包含tblAuthers表的Access 数据库,然后转到创建选项卡,然后在查询组中选择查询向导

如果您看到以下屏幕截图,您有四个不同的向导可供选择。选择查找重复项查询向导并单击确定

重复查询

查找重复项查询向导的第一个屏幕将询问您要搜索可能的重复项的表或查询。假设我们要检查我们的作者表以确保同一作者没有被意外输入两次。因此,选择 tblAuthors 并单击Next

查看表

作者 ID

  • 向导中的第二个屏幕将询问哪些字段可能包含重复信息。

  • 通常,您不会使用主键字段,因为同样,当您将 Access 中的字段指定为主键时,Access 将不允许输入重复项。

  • 我们将查看任何其他领域或领域的组合。

我们可以通过姓氏或名字和姓氏进行搜索,或者您可以通过他们的街道地址进行搜索,或者更具体地使用他们的电话号码或生日进行搜索。

现在让我们按名字、姓氏和生日进行搜索,然后单击下一步

创建日期

此向导中的以下屏幕将询问我们希望在查询中显示的字段。为此,点击双箭头,所有字段将移动到附加查询字段区域,并将添加到我们的查询结果中。

附加查询

现在让我们点击下一步它会将我们带到此查询向导的最后一个屏幕。

下一个查询向导

在以下屏幕中,输入您希望如何命名查询。

查看结果

默认情况下,它会命名它find 重复项加上您正在查询的对象的名称在这种情况下,tblAuthors,但您也可以给它任何其他名称,然后单击完成

在这里,Access 发现了一个可能的重复,那就是作者 Jose Caline,他有相同的生日、相同的地址、相同的电话号码但不同的 AuthorID。

可能重复

这个肯定是不小心进了两次。我们现在已经将所有字段添加到我们的查询中,我们可以直接删除记录。我们还必须确保在另一个表中没有任何相关记录。

相关记录

选择任何记录并选择删除,如下面的对话框所示。

删除记录

Access 会提示您“您将要删除一条记录”。如果要继续,请单击是。

如果您想查看该向导是如何创建此查询的,请进入设计视图并查看已添加到此查询中的所有内容。

添加列表

正如您在上面的屏幕截图中看到的,我们在名字字段下方有我们的字段和一些特定条件。

指定标准

这就是该向导查找重复信息的方式。这是迄今为止查找重复项的最简单方法。

Ms Access – 无与伦比的查询向导

在 Access 中,还有另一个非常有用的向导,那就是Find Unmatched Query Wizard查找不匹配的查询向导创建一个查询,该查询在一个表中查找在另一个表中没有相关记录的记录或行。

正如我们已经讨论过数据如何在查询中连接在一起,以及大多数查询如何寻找两个或多个表之间的匹配项。

匹配

  • 这是 Access 中的默认联接例如,如果我们设计一个包含两个表tblCustomerstblOrders的查询,并通过 CustomerID联接这两个表,则此查询将仅返回匹配的结果。换句话说,下订单的客户。

  • 有时我们不想看到匹配项,例如,我们可能不想在我们的数据库中看到任何客户——尚未下订单的客户。

未下订单

  • 这正是 find unmatched 查询所做的。

这种查询还有许多其他可能的用途。

在我们的数据库中,我们可以使用它来查看哪些作者尚未编写项目,或者您可以使用它来查看哪些员工尚未选择任何健康福利。现在让我们打开包含客户订单表的数据库转到创建选项卡,然后单击查询向导按钮。

选择Find Unmatched Query Wizard并单击Ok

无与伦比

在这种情况下,我们将寻找那些尚未下订单的客户。在第一个屏幕中,它询问哪个表或查询包含您想要在查询结果中的记录。

我们现在想要来自tblCustomers的客户列表选择该选项并单击下一步

客户表

在以下屏幕中,您需要指定哪个表或查询包含相关记录换句话说,您使用什么表来与第一个表进行比较。为此,我们需要找到那些没有下订单的人。我们需要选择包含所有订单信息的表 – tblOrders现在,单击下一步

订单

在以下屏幕中,您需要指定两个表中的哪条信息。

  • 这通常是某种主键、外键、字段或关系。
  • 如果您的数据库中有现有关系,Access 将为您选择并匹配这些字段。
  • 但是,如果您有其他字段可以连接在一起,包含类似的信息,您也可以在此处选择。

在这里,我们在“tblCustomers”中的字段和“tblOrders”中的字段中默认选择了 CustID。现在,单击下一步

客户编号

在下面的屏幕中,您可以选择要在查询结果中显示的字段。

选定的文件

现在让我们选择所有可用字段并单击双向箭头。这会将所有可用字段移动所选字段区域。现在,单击下一步

第一个订单

最后一个屏幕将允许您为查询选择一个名称,然后单击Finish

不匹配

在这里,我们将一位客户列为尚未向我们下订单的客户。

客户名单

您还可以查看该查询是如何创建的。为此,您需要返回到设计视图

一片空白

此向导已在 tblCustomer 和 tblOrders 之间创建了外部联接,并且Is Null条件已添加到来自 tblORders 的 CustID。这是为了排除某些记录。在这种情况下,是下订单的客户,或者在tblOrders中有相关信息的客户。

Ms Access – 创建表格

Access 中的表单就像商店中的展示柜,可以更轻松地查看或获取所需的项目。由于表单是您或其他用户可以添加、编辑或显示存储在 Access 桌面数据库中的数据的对象,因此表单的设计是一个重要方面。您可以使用 Microsoft Access 中的表单在设计方面做很多事情。您可以创建两种基本类型的表单 –

  • 绑定形式
  • 未绑定表单

绑定表格

现在让我们了解绑定形式什么

  • 绑定表单连接到一些底层数据源,例如表、查询或 SQL 语句。
  • 绑定表单是人们在考虑表单目的时通常会想到的内容。
  • 表格将被填写或用于在数据库中输入或编辑数据。
  • 绑定表单的示例通常是用户用于在数据库中输入、查看或编辑数据的表单。

未绑定表格

让我们看看未绑定的表单 –

  • 这些表单未连接到基础记录或数据源。
  • 未绑定表单可以是对话框、切换板或导航表单。
  • 换句话说,与数据本身相反,未绑定表单通常用于导航或与整个数据库交互。

绑定形式的类型

您可以在 Access 中创建多种类型的绑定表单。让我们了解类型 –

单项表格

这是最受欢迎的,也是显示记录的地方——一次一个记录。

多项目表

这一次显示来自该绑定数据源的多条记录。

拆分表格

表格分为垂直或水平两半。一半显示单个项目或记录,另一半显示列表或提供来自基础数据源的多个记录的数据表视图。

创建表单

您可以使用几种方法在 Access 中创建表单。为此,打开您的数据库并转到“创建”选项卡在 Forms 组的右上角,您将看到 Form Wizard 按钮。

表单向导

单击该按钮以启动表单向导。

在向导的第一个屏幕上,您可以选择要在表单上显示的字段,并且可以从多个表或查询中的字段中进行选择。

让我们假设我们只想有一个快速表单,我们将使用它来输入员工信息的数据。

表/查询下拉列表中,选择tblEmployees表。单击双箭头一次移动所有字段。

表单向导字段

让我们将它保留在那个表中,然后单击Next

选择职位

表单向导中的以下屏幕将询问我们希望表单的布局。我们有柱状、表格、数据表和对齐的布局。我们将在此处选择柱状布局,然后单击下一步

布局

在下面的屏幕中,我们需要为我们的表单提供一个标题。我们称之为frmEmployees

为表单指定标题后,您可以打开表单以查看该表单的外观,或者您可以开始在表格中输入信息。或者您可以选择修改表单设计的选项。让我们选择第一个选项打开表单以查看或输入信息,然后单击完成

打开表格

现在,看看下面的截图。这就是您的表单的样子。这是一个单项表单,意味着一次显示一条记录,再往下你可以看到导航按钮,这告诉我们这是显示第 1 条记录,共 9 条记录。如果你点击那个按钮,它会移动到下一个记录。

一条记录

如果您想跳转到该表单或表格中的最后一条记录,您可以使用右箭头旁边的按钮,箭头后面有一条线,这是最后一条记录按钮。如果要添加新员工信息,请转到此记录的末尾,然后在 9 条记录后您将看到一个空白表格,您可以在其中开始输入新员工的信息。

员工信息

新表格

这是如何使用表单向导创建表单的一个示例。现在让我们关闭此表单并转到“创建”选项卡。现在我们将使用向导创建一个稍微复杂的表单。单击表单向导,这一次,我们将从几个不同的表中选择字段。

在这个表单向导中,让我们Tables/Queries选择tblProjects,并选择几个可用字段,例如 ProjectID、ProjectName、ProjectStart 和 ProjectEnd。这些字段现在将移动到选定字段。

表格预算

现在为表/查询选择tblTask​​s并发送 TaskID、ProjectID、TaskTitle、StartDate、DueDate 和 PercentComplete。单击下一步

可用字段

单一表格

在这里,我们想要从几个不同的对象中检索数据。我们还可以从我们希望如何安排表单的选项中进行选择。如果我们想创建一个平面表单,我们可以选择通过tblTask​​s进行排列,这将创建单个表单,所有字段都在平面视图中布局,如上图所示。

但是,如果我们想基于这种一对多关系创建一个分层表单,我们可以选择通过 tblProjects 来排列我们的数据。

子窗体

在上面的窗口中,我们可以选择tblTask​​s包含一个子表单,或者我们可以将其设为链接表单。这个链接的表单是 tblProjects 将有一个按钮的地方,该按钮将启动过滤到我们在底层项目表单中选择的项目的第二个表单。现在让我们选择Form with subform(s),然后单击Next

在以下屏幕中,您可以为子表单选择布局。默认情况下选择数据表视图。数据表视图类似于表视图。现在,单击下一步

数据表表格

在以下屏幕中,您需要为表单提供名称。输入您想要的名称并单击完成

项目

Access 将为您提供表单外观的预览。最重要的是,您在主窗体上有控件,它来自我们的Projects表。当你往下走时,你会看到一个子表单。这就像表格中的表格。

项目表

多项目表

您可能还想创建特定类型的表单。为此,您可以单击更多表单下拉菜单。

多个项目

从菜单中,您可以创建多个项目表单、数据表表单、拆分表单,甚至是模态对话框表单。这些通常是绑定形式;选择要绑定到该表单的对象。这不适用于模态对话框表单。

要创建这种类型的表单,您需要先在导航窗格中选择对象。让我们在这里选择tblEmployees

员工表格

单击“更多表单”和“多个项目”继续

更多表格

上述步骤将进一步创建一个 Multiple Items 表单,列出所有员工。

拆分表格

这种类型的表格被分成垂直或水平等分的两半。一半显示单个项目或记录,另一半显示来自基础数据源的多个记录的列表或数据表视图。

现在让我们在导航窗格中选择tblEmployees,然后选择Create选项卡。从“更多表单”菜单中选择“拆分表单”选项,您将看到以下表单,其中表单被垂直分割。

拆分表格

Ms Access – 修改表格

我们已经学习了几种创建简单数据输入表单的方法。虽然表格简化了数据输入过程;这些可能不会用于您想要的其他目的。对于您的意图,它们可能不吸引人或用户友好。

  • 创建表单后,您可能要做的第一件事就是调整控件的大小或四处移动控件。
  • 您可能还需要添加控件或删除控件。

我们现在将讨论如何以简单的方式修改您的表单。

控件

它只是一个通用术语,用于描述窗体或报表上显示数据、执行操作或用于装饰(例如线条)的项目的任何对象。换句话说,控件就是放置在窗体或报表上的任何东西。

以下可以被视为控制 –

  • 标签等对象。
  • 可用于添加或编辑甚至计算表达式的未绑定或绑定文本框。
  • 执行保存、打开电子邮件或打印操作的命令按钮,这些按钮也称为控件。
  • 它只是窗体或报表上任何对象的通用术语。

我们现在将研究使表单可呈现的不同方面,并了解如何编辑和修改表单。现在让我们打开我们的 Multiple Items 表单,其中列出了tnlEmployees 中的所有员工

编辑表格

正如您所看到的员工列表,但看起来并不是一个非常用户友好的列表。我们的控件过大。它们太大,彼此隔开,不能提供非常有用的列表视图。

要在此表单上编辑控件的外观,您可以使用两个表单视图。在主页选项卡中,单击视图下拉菜单。

外观控制

您有布局视图或设计视图,这两个视图都用于编辑表单。表单视图默认打开;这是您将用于与基础数据源交互或编辑基础数据源的视图。

要编辑表单本身的外观,我们需要先转到布局视图。

形式本身

当您切换到布局视图时,您将看到一系列上下文选项卡出现。

在 Access 的顶部,您将看到一个标记为“表单布局工具”的区域,其中包含三个选项卡 – 设计选项卡、排列选项卡和格式选项卡,并且这些选项卡中的每一个都有不同的选项来格式化表单的外观或外观。

当您用鼠标单击这些控件中的任何一个时,您会注意到 Access 将突出显示该窗体的给定区域,并且该区域内的所有控件都带有浅橙色阴影,而您选择的实际控件的阴影会比或在您单击的位置周围有一个较深的橙色边框。

布局工具

在这里,您可以根据需要调整控件的大小,方法是单击并拖动鼠标来调整该控件的高度或宽度或两者的大小。

调整大小控制

在这个特定的窗体上,当您调整任何单个控件的大小时,您也会更改窗体上其余控件的大小,这是因为这些控件是如何分组的。现在让我们使用鼠标的单击和拖动功能以您想要的方式调整所有字段。

调整字段

这是从此布局视图编辑表单中控件的高度和宽度的一种快速方法。

主题

在 Access 中,有一些基本方法可以通过使用内置主题、颜色和字体样式、自定义填充颜色和阴影交替行来设置表单格式。现在让我们打开frmEmployees

主题

Access 创建的表单简单明了。它们的顶部有一个蓝色条,背景是白色。

如果您想了解如何对这些表单进行样式化,您可以转到设计视图或布局视图并探索您在主题区域的设计选项卡上的一些选项。

风格化

如果您单击主题的下拉库,您将有许多预创建的主题可供试用。将鼠标悬停在其中任何一个上都会让您预览颜色和字体大小以及实际使用的实际字体等变化。要应用特定样式,只需在其上单击鼠标,您就可以看到它的样子。

下拉图库

如果您喜欢主题但想要更改颜色,您可以通过返回“设计”选项卡上的“主题”组并选择您喜欢的颜色来调整颜色。您还可以创建自定义颜色以匹配您公司的颜色。

颜色主题

同样,您还有一系列字体样式可供选择。您可以从随 Office 套件预构建的众多字体中选择一种,也可以自定义这些字体,选择特定的标题字体、正文字体,甚至为该字体组创建自定义名称并保存。

标题字体

让我们回到frmEmployees在此表单中,您将看到每个交替行都带有浅灰色阴影。

行阴影

格式选项称为备用行颜色,如果您想以多种形式调整它,请转到设计视图

行颜色

选择该详细信息部分,然后转到 Format 选项卡,在 background 组中,您应该会看到Alternate Row Color的选项您可以更改交替行的颜色。要查看它的外观,只需转到“表单视图”或“布局视图”。

换颜色

如果您根本不需要任何阴影,您可以选择“无颜色”作为您的备用行颜色,这更像是 Access 早期版本中的传统外观。

没有颜色

Ms Access – 导航表格

Access 包括一个导航控件,可以轻松地在数据库中的各种表单和报表之间切换。导航表单只是一个包含导航控件的表单。导航表单是对任何桌面数据库的重要补充。

  • Microsoft Access 提供了多种用于控制用户如何浏览数据库的功能。

  • 我们已经使用导航窗格来浏览我们创建的所有 Access 对象,例如表单、查询、表等。

  • 如果您想创建自己的导航结构并让用户更容易找到他们真正需要的特定对象,您可以构建导航表单,这是一种使用导航控件的表单,以便用户可以使用或查看表单和报表就在那个主导航表单中。

例子

现在让我们举一个简单的例子来创建导航表单。为此,请转到“创建”选项卡;在 Forms 组中,您将看到此导航下拉菜单。

导航菜单

在此菜单中,您将看到不同的布局,用于安排您想要嵌入到此导航表单中的表单和报表。

  • 有一个带有水平选项卡,一个带有垂直选项卡 – 所有选项卡都向左对齐,垂直选项卡布局所有选项卡都向右对齐。

  • 有一个水平选项卡布局,它有两个级别,因此如果您想在顶部显示很多对象,则可以使用它。

  • 您可以拥有一个同时具有水平选项卡和垂直选项卡的选项卡,它们要么向左对齐,要么向右对齐。

在下面的例子中,我们将使用水平标签和垂直标签。要创建该布局或导航表单,只需单击它,Access 将创建一个未绑定的表单,其上带有一个导航控件。

导航标签

要将对象添加到此导航表单,最简单的方法是通过布局视图,只需将对象拖放到您希望它们出现的位置即可。

现在让我们从导航窗格中拖动frmProjects表单并将其放在顶部的 [Add New] 上。

拖拽项目

类似地,将frmAuthers表单从导航窗格拖放到 Add New Button 的左侧。

添加新按钮

现在让我们添加与项目相关的其他表单,例如frmSubTasks、frmCurrentProjects等。

相关表格

现在让我们在顶部添加其他选项卡。我们将首先添加frmEmployees表单。

附加标签

现在,您将看到您的其他项目按钮从左侧消失了,这是因为它们已附加到“项目”选项卡。您在左侧查看的所有按钮都链接到您在顶部选择的任何内容。现在选中 Employee 选项卡,让我们将与员工相关的信息拖到左侧。

项目按钮

现在我们在一个选项卡上有项目信息,在另一个选项卡上有员工信息。同样,您可以根据需要添加更多选项卡。如您所见,选项卡的名称不合适,因此让我们开始重命名其中的一些选项卡,使它们对用户更友好。最简单的方法是双击左侧的任何选项卡或任何按钮,然后将其重命名,如下面的屏幕截图所示。

改名

Ms Access – 组合框

当您以任何形式输入数据时,从列表中选择一个值比记住要键入的值更快、更容易。选择列表还有助于确保在字段中输入的值是合适的。列表控件可以连接到现有数据,也可以显示您在创建控件时输入的固定值。在本章中,我们将介绍如何在 Access 中创建组合框。

组合框

组合框是一个对象或控件,其中包含用户可以从中选择的值的下拉列表。

  • 组合框控件提供了一种更紧凑的方式来呈现选项列表。
  • 该列表是隐藏的,直到您单击下拉箭头。
  • 组合框还使您能够输入不在列表中的值。
  • 这样,组合框控件结合了文本框和列表框的特点。

例子

现在让我们举一个简单的例子来创建一个组合框。我们为员工创建了一个表单,如下面的屏幕截图所示。

组合框

我们现在要为电话类型创建一个组合框,因为我们知道电话类型应该是Home、CellWork此信息应在下拉列表中可用,用户无需键入此信息。

现在让我们转到此表单设计视图选择电话类型字段,然后按删除。

电话类型

电话类型删除

删除电话类型字段后,转到设计选项卡。

使用控制字

现在让我们从 Controls 菜单中选择Use Control Wizards选项,然后从菜单中选择 Combo Box Control,如下面的屏幕截图所示。

设计选项卡组合

现在,在您想要的位置绘制组合框,当您松开鼠标时,您将看到组合框向导对话框。

组合向导

在这里,您有不同的数据选项;让我们选择 2nd 选项,我们将添加值并单击下一步。

选项

在下拉列表中输入要显示的值,然后单击下一步

记住价值

再次单击下一步

标签

输入组合框标签,然后单击完成

未绑定

您可以看到组合框已创建,但未与其他字段对齐。让我们首先选择所有字段,然后转到“排列”选项卡。

排列选项卡

在左侧,您将看到堆叠选项。单击此按钮。

堆叠

您现在可以看到字段已对齐。

为了使每个字段的大小相同,我们有不同的选项,让我们单击大小/空间按钮。

大小形状按钮

从下拉列表中,单击至最短

最短

现在转到表单视图。

查看表格

用户现在可以轻松地为电话类型选择任何选项。

Ms Access – SQL 视图

在本章中,我们将介绍 SQL 视图。每当您在查询设计中创建查询时,Access 都会自动为您创建 SQL 查询。这实际上是从表中检索数据。要查看在查询设计中创建查询时如何在 sql 中创建查询,让我们打开您的数据库。

Create选项卡中选择Query Design并添加tblEmployees表。

SQL视图

员工设计

选择要作为查询结果查看的字段,然后运行查询。

字段查询结果

您现在可以看到所有员工信息作为查询结果。您在查询网格中选择了某些字段;同时,MS Access 还使用从您的查询网格获得的结果创建了一个 SQL 查询。

要查看 SQL,请转到“主页”选项卡。从“视图”菜单中选择“ SQL 视图”,您将看到查询的 SQL。

主页选项卡

例子

下面是另一个例子,我们将看到正在进行的项目。

项目进展

导航关系

现在让我们运行您的查询。

任务名称

要查看 SQL,请从“视图”菜单中选择“SQL 视图”。

SQL查询

您可以看到 Access 自动生成的 SQL 查询。这有助于从两个表中检索数据。

Ms Access – 格式化

Access 中一种特别有用的格式化工具是能够应用条件格式来突出显示特定数据。让我们举一个条件格式的简单例子。

例子

在这个例子中,我们将在我们的数据库中使用一个表单fSubCurrentProjects

当前的项目

我们有这个数据库中所有项目的列表,我们还有几个新字段,如准时状态延迟任务数此表单是从另一个查询创建的。

完全的

在这个查询中,我们有一个表和一个查询之间的连接,它将显示到期日期的计数或有多少项目有过期的任务。我们这里还有一个计算字段,它使用 IF 函数来确定到期日的计数是否大于零。如果项目延迟,它将显示“延迟”字样,如果该特定项目没有任何逾期任务,则显示“准时”字样

准时

示例 1

在此示例中,我们将使用上述表单来了解如何使用条件格式来突出显示特定信息。我们现在将突出显示当前运行较晚的每个项目。要将条件格式应用于一个或多个字段,我们需要切换到布局视图。

现在,选择准时状态字段。

时间状态

现在,转到“格式”选项卡。

格式选项卡

在该格式选项卡上,您应该看到一个名为 Control Formatting 的组和一个用于 Conditional Formatting 的特殊按钮。现在让我们点击条件格式。

规则管理器

您现在将看到一个条件格式规则管理器,目前我们没有应用于此控件的规则。现在让我们通过单击“新建规则”按钮来创建一个新规则。

新规则

您现在将看到一个新建格式规则对话框。我们将首先指定我们将创建的规则类型,这里我们有两个选项。第一个选项是检查当前记录中的值或使用表达式,第二个选项是将此记录与其他记录进行比较

现在我们的表单中只有两个值之一;On Time 或 Late 一词来自给定的查询。现在让我们从第一个组合框中选择“字段值是”,然后从第二个组合框中选择“等于”。现在,在引号中输入单词“ Late ”。

等于

我们现在可以设置我们的条件格式,如果该字段中出现Late一词,我们希望该字段看起来如何现在让我们将字体颜色更改为红色并使其粗体、斜体下划线,这就是我们的条件规则。现在让我们单击Ok,然后单击Apply,然后再次单击Ok

格式化晚了

您可以看到单词Late现在已格式化。这是如何创建一个非常基本的条件格式规则的示例。

示例 2

让我们再举一个例子。在这里,我们将标题或项目的名称红色粗体,斜体下划线选择表单上的项目名称控件。

条件格式

我们现在将返回到我们的 Format 选项卡并单击 Conditional Formatting 并为该特定控件创建一个新规则,如上面的屏幕截图所示。

无格式集

在这里,我们不会检查我们选择的当前字段的值,但我们会根据此表单上的另一个字段来检查它。在第一个组合框中选择Expression Is然后单击最后的 … 按钮,如上图所示。

表达式生成器

在表达式类别中,您拥有此表单上的每个对象。双击CountofDueDate如果它大于零,这会将对该控件或该字段的引用发送到我们的表达式构建器和条件。现在,单击确定。

格式规则

现在让我们单击“确定”,然后再次单击“应用”和“确定”。

示例值

这是一个基于另一个字段中的值的字段的条件格式示例。

示例 3

现在让我们看一下条件格式的另一个例子。让我们假设,我们想查看哪些项目比其他延迟项目更晚或有更多的延迟任务。选择条件格式选项。

计算到期日

单击“新建规则”按钮创建新规则,然后单击“确定”,如上图所示。

新格式规则

在新格式规则中,我们现在将选择规则类型“与其他记录比较”。让我们进一步将Bar 颜色更改为 red我们希望最短的条形代表最低值,最长的条形代表最高值。现在让我们单击“确定”,然后再次单击“应用”和“确定”。

条形颜色红色

您现在可以看到应用了条件着色,如上面的屏幕截图所示。现在让我们转到 Form 视图。

条件着色

Ms Access – 控制和属性

在本章中,我们将介绍Access 中可用的控件和属性我们还将学习如何向表单添加控件。控件是表单或报表中用于输入、编辑显示数据的部分。控件使您可以查看和处理数据库应用程序中的数据。

  • 最常用的控件是文本框,但其他控件包括命令按钮、标签、复选框和子窗体/子报表控件。

  • 您可以创建不同种类和类型的控件,但所有控件都属于两类之一——绑定或未绑定。

绑定控件

现在让我们了解什么是绑定控件 –

  • 绑定控件是绑定到数据库中特定数据源的控件,例如字段和表或查询。
  • 值可以是文本、日期、数字、复选框、图片甚至图形。
  • 您可以使用绑定控件来显示来自数据库字段的值。

未绑定控件

现在让我们了解什么是未绑定控件 –

  • 另一方面,未绑定控件不绑定到数据源,它们仅存在于表单本身中。
  • 这些可以是文本、图片或形状,例如线条或矩形。

控制类型

您可以在 Access 中创建不同类型的控件。在这里,我们将讨论一些常见的,例如文本框、标签、按钮选项卡控件等。

文本框

  • 通常,文本框中的任何内容都将被绑定,但并非总是如此。

  • 您可以使用这些控件与存储在数据库中的数据进行交互,但您也可以使用未绑定的文本框。

  • 计算控件将根据您编写的表达式执行某种计算,并且该数据未存储在数据库中的任何位置。

  • 它是即时计算的,并且仅以这种形式存在。

标签

  • 标签将始终是文本且未绑定。
  • 通常,标签不会连接到数据库中的任何源。
  • 标签用于标记表单上的其他控件,例如文本框。

按钮

  • 这是另一种流行的控件;这些命令按钮通常执行宏或模块。
  • 按钮通常用于与数据库中的数据或对象进行交互。

选项卡控件

  • 选项卡控件为您提供表单中控件或其他控件的选项卡式视图。
  • 向表单添加选项卡可以使其更有条理和易于使用,尤其是在表单包含许多控件的情况下。
  • 通过将相关控件放置在选项卡控件的单独页面上,您可以减少混乱并简化数据处理。

超链接

  • 超链接在您的表单上创建指向其他内容的超链接。它可以是网页,也可以是数据库中的另一个对象或位置。

一些其他控件

现在让我们看看其他一些控件 –

  • 您还可以创建 Web 浏览器控件和导航控件、组、分页符、组合框。

  • 您可以创建图表、线条、切换按钮、列表框、矩形、复选框、未绑定对象框、附件、选项按钮、子窗体和子报表、绑定对象框,甚至在窗体上放置图像。

例子

现在让我们通过创建一个新的空白表单来查看其中一些控件的简单示例。转到表单组中创建选项卡,然后单击空白表单

空白表格

上述步骤将打开一个未绑定的表单,该表单尚未附加到我们数据库中的任何项目。

字段列表

默认情况下,它将在布局视图中打开,如上面的屏幕截图所示。

现在让我们转到设计视图来添加字段。

添加设计字段

在“设计”选项卡上,单击“属性表”。

属性表设计

在“属性表”上,单击下拉箭头并确保选中“表单”,然后转到“数据”选项卡。

详情 物业

在数据选项卡上,您将看到记录源保持空白。让我们假设,我们想要创建一个表单,该表单将绑定到我们数据库中的两个不同表。现在点击…按钮。它将进一步打开自己的查询构建器。

查询生成器

选择包含要显示的数据的表;单击添加按钮,然后关闭此对话框。

选择属性表

现在让我们选择 tblEmployees 中的所有字段并拖动到查询网格,并类似地添加 tblHRData 中的所有字段。

现在,单击另存为并为此查询命名。

查询 2 保存

让我们将其命名为 qryEmployeesData并单击“确定”,然后关闭查询构建器。

员工数据

您现在可以将查询视为其记录源。我们现在已经将此表单绑定到我们数据库中的一个对象,在本例中为 qryEmployeesData。我们现在可以开始向此表单添加一些控件并添加任何一个控件,请转到“设计”选项卡并从控件组中查看您的选项。

使用控制向导

从“控件”菜单中,您将看到“使用控件向导”突出显示,如上面的屏幕截图所示。默认情况下,这个小按钮周围有突出显示的框。这意味着控制向导已打开。这就像一个拨动开关。当您单击切换开关时,向导将关闭。再次单击它会打开向导。

现在让我们单击标签并拖动此标签并输入员工信息,然后转到格式选项卡将其格式化,如下面的屏幕截图所示。

详细员工信息

您可以选择应用粗体样式或更改该标签内文本的字体大小等。此控件显示在表单的详细信息部分内。将此标签放置在尚不可见的表单标题部分内更有意义。

标题部分

右键单击该表单背景中的任意位置,然后选择“表单标题”,如上面的屏幕截图所示。

表格标题

将此控件移动到表单标题区域。现在让我们从“设计”选项卡创建一些其他控件。在这一点上,让我们说,我们要将所有字段分布到两个不同的选项卡中。

标题区

从控件菜单中,您可以看到将在表单上创建选项卡的选项卡控件。单击选项卡控件并将其绘制在详细信息部分的表单上,如上面的屏幕截图所示。

选项卡控件

它将创建两个选项卡 – 第 2 页和第 3 页,如上面的屏幕截图所示。

现在让我们开始向此选项卡控件添加一些控件。

如果我们想查看存储在基础查询中的某些信息,请单击工具组中功能区中添加现有字段选项,以查看基础查询中的所有可用字段。

现有字段

要将现有字段带到页面,请选择字段列表中的所有可用字段,如下面的屏幕截图所示。

可用字段

现在,将字段拖到选项卡控件的 Page2,如下面的屏幕截图所示。

拖动字段

现在,转到排列选项卡并选择堆叠布局。

堆叠布局

在第二页上,现在让我们添加此查询中的其余字段。

剩余字段

您可以对这些控件的大小和宽度进行任何调整,以使其看起来像您喜欢的样子。

完成格式设置后,单击“另存为”图标以使用所需名称保存表单。

保存员工数据

单击“确定”并转到“表单”视图以查看该表单中的所有信息。

查看信息

选项卡控件将我们的控件或字段分成两个屏幕,以便更轻松地查看和添加信息。

更轻松地添加信息

Ms Access – 报告基础

在本章中,我们将介绍报告的基础知识以及如何创建报告。报告提供了一种查看、格式化和汇总 Microsoft Access 数据库中信息的方法。例如,您可以为所有联系人创建一个简单的电话号码报告。

  • 报告包含从表或查询中提取的信息,以及与报告设计一起存储的信息,例如标签、标题和图形。

  • 提供基础数据的表或查询也称为报表的记录源。

  • 如果要包括的所有字段都存在于单个表中,请使用该表作为记录源。

  • 如果字段包含在多个表中,则需要使用一个或多个查询作为记录源。

例子

我们现在将通过一个简单的例子来理解创建一个非常简单的报告的过程。为此,我们需要转到“创建”选项卡。

报告

在单击“报告”按钮创建基本报告之前,请确保选择了正确的查询。在这种情况下,在导航窗格中选择了qryCurrentProjects现在单击“报告”按钮,这将根据该查询生成报告。

选定项目

您将看到报表在布局视图中打开。这提供了一种快速方法来调整您在报告中看到的任何字段的大小或宽度。现在让我们调整列宽,以更好地适应所有内容。

调整列

向下滚动并调整底部的页面控件。

调整页面控制

这是创建非常简单的报告的非常快速的方法。您还可以从报表设计视图中进行细微的更改和调整。

快捷方式

  • 就像表单一样,报告由各种不同的部分组成。
  • 您有详细信息部分,这是您所有数据的大部分所在。
  • 您还将看到页眉和页脚部分;它们出现在报告中每一页的顶部和底部。

现在让我们更改报告的标题并给它另一个名称。

更改标题

单击保存图标以保存您的报告。

报告名称

你会得到上面的对话框。

为您的报告输入一个名称,然后单击确定。如果您想查看该报告的实际外观,在打印预览中,您可以返回查看按钮并单击打印预览以查看该报告在打印在纸上或以 PDF 格式打印时的外观。

实际外观

使用右下角的工具,您可以放大或缩小。在“打印预览”选项卡上还有一些按钮,当您切换到“打印预览”时会自动出现这些按钮。在缩放部分,您可以看到一页、两页的视图;或者如果您有更长的报告,您可以一次查看四页、八页或十二页。您还可以调整一些简单的东西,例如您用于打印的纸张尺寸、报告的边距、方向、列数、页面设置等。这就是您可以非常快速地创建一个使用“创建”选项卡上的“报告”按钮进行简单报告。

使用报表设计创建报表

报表设计是另一种在 Access 中创建快速报表的方法。为此,我们需要使用 Report Design View 按钮,它类似于 Form Design 按钮。这将创建一个空白报表并将其直接打开到设计视图,允许您更改控件源并将字段直接添加到报表的设计视图。

现在让我们转到 Create 选项卡并单击 Report Design 按钮。

报表设计

它将打开一个空白报告或一个未绑定的报告,这意味着该报告未连接到我们数据库中的任何其他对象。

未绑定报告

在工具组的设计选项卡上,选择属性表。这将打开“属性”窗格。

工具组

在“数据”选项卡上,为此报表分配一个记录源,以将其连接到数据库对象,如下面的屏幕截图所示。

数据标签

从下拉列表中选择qryLateProjects现在,下一步是通过单击“设计”选项卡上的“添加现有字段”列表按钮来浏览并向此报告添加一些字段。

迟到的项目

选择上面屏幕截图中的字段。

选择字段

将字段拖动到您的报告中,如上面的屏幕截图所示。转到排列选项卡,在表格组中,您有几个选项可供选择。

选择表格

有堆叠布局和表格布局,这是一种非常类似于电子表格的布局。让我们选择表格布局。

表格布局

您可以看到它将所有标签向上移动到页眉区域。这些标签只会在每个页面的顶部出现一次,并且数据查询将针对“详细信息”部分中的每条记录重复。现在,您可以进行一些调整,使您的 ProjectName 字段更宽。

领域更广

正如您在上面的屏幕截图中看到的,Detail 部分和 Page Footer 之间有很多空间。

让我们向上拖动页脚以减少空间,如下面的屏幕截图所示。我们现在将转到“设计”选项卡并单击“视图”按钮并选择“报告视图”。

页脚

报告视图

现在可以看到有些项目名称不完整;您可以使用设计视图进行调整,也可以使用布局视图进行调整。

简单报告

这就是我们仅从设计视图创建简单报告的方式。

Ms Access – 格式化报告

在本章中,我们将学习如何格式化报告。您会发现格式化报告和格式化表单之间有很多相似之处,但有一些工具和技巧是专门针对报告的。现在让我们看看报告部分和分组的概念。

为此,我们需要打开我们在上一章中创建的报告。在这里,我们将看到其中一些信息如何显示在报告中。

显示信息

在这里,我们将从报告部分和分组开始。

现在让我们转到此报表的设计视图。

报告部分

您可以看到没有太多可看的,这里只有页眉、详细信息部分和页脚可见。您可以非常轻松地添加额外的几个部分。

附加部分

右键单击该报告的任意位置,您将看到页眉/页脚和报告页眉/页脚。此特定报告没有可见的报告页眉/页脚。让我们选择该选项并返回到报告视图。

报告标题

您可以看到它只是在报告的最顶部添加了一点彩色区域。在设计视图中,通过将鼠标悬停在该页眉分隔符的顶部右侧,单击并向下拖动来扩展该区域。这将为报告标题添加更多区域。

报表设计视图

在报告视图中,您现在将在报告的最顶部看到更多区域,如下面的屏幕截图所示。

更多区域

报表页眉和页脚控件出现在该报表第一页的顶部。报告页脚控制您在报告底部最后一页看到的内容。

页脚控件

报表页眉和页脚不同于您的页眉和页脚。放置在页眉中的任何内容都将出现在每个页面的顶部。同样,放置在页脚中的任何内容都会在每个页面的底部重复。

底部报告

现在您可以添加额外的分组级别,为此,您需要确保打开了组排序和总面积。

在“设计”选项卡的“分组和总计”部分,单击“分组和排序”按钮,这将在底部打开“分组、排序和总计”区域,如下面的屏幕截图所示。

重复页脚

您现在可以在报告中的任何控件上添加其他组或分组。现在让我们单击添加组。

附加组

在上面的屏幕截图中,您可以看到带有项目名称、任务标题、截止日期和完成百分比的报表的底层控制源。现在假设我们要按项目对所有迟到的任务进行分组,因此从列表中选择项目名称。

项目任务

现在,您将在详细信息部分上方看到一个额外的分组级别ProjectName Header我们现在可以将此控件向上移动到此项目名称标题,而不是出现在每个延迟的单个任务旁边的项目名称。您可以选择它,然后按键盘上的Ctrl + X将其从该详细信息部分剪切并单击该项目名称标题背景中的任意位置,然后按Ctrl + V将该控件粘贴到该项目名称标题中。

名称标题

您现在可以转到报告视图并查看为对报告中的内容进行分组所做的调整,如下面的屏幕截图所示。

调整

每个项目都有自己的小级别,然后在该区域下方,您将看到上述项目的所有延迟任务。现在更改后,您可以浏览并开始在布局视图中设置报告格式。

如果要使项目名称更大,请拖动下面的行并在“格式”选项卡中将字体大小更改为 20。

项目名称更大

您可以增加控件的宽度以覆盖页面的整个宽度。

增加宽度

要移除控件周围的边框,请单击“格式”选项卡中的“形状轮廓”,如下面的屏幕截图所示。

形状轮廓

选择透明选项。

透明

现在让我们转到设计视图,如下面的屏幕截图所示。

分组排序

将任务标题调整到页面左侧,如下面的屏幕截图所示。

任务标题设计

现在让我们使用Ctrl+XCtrl+V将 Page Header 部分的数据带到ProjectName标题部分

添加组

现在让我们回到报表视图。您现在将看到标签直接显示在它们所描述的控件上方。

出现的标签

如果您注意到,您会看到任务和下一个项目名称之间没有空格。中间应该有额外的空间。为此,我们需要添加ProjectName Footer

现在,转到设计视图。

名称页脚

在组、排序和总计区域中,单击项目名称旁边的更多按钮。

您现在将找到有关如何按项目名称分组和排序的所有选项,如下面的屏幕截图所示。

组排序名称

在这里,我们有一个名为“没有页脚部分”的属性让我们通过单击“无页脚部分”字样旁边的小箭头来更改该选项

页脚部分

将其更改为With a Footer Section

带节

正如您在上面的屏幕截图中看到的,详细信息部分下方的 ProjectName 页脚部分已添加。这将作为该项目名称组的页脚。

现在让我们回到报表视图。

细节部分

要在“详细信息”部分和“项目名称”区域中删除交替区域的阴影或背景外观,请再次转到“设计”视图。

去除阴影

让我们首先通过单击详细信息分隔符来更改详细信息部分,然后打开属性表。

在格式选项卡上,将备用背景颜色更改无颜色,如下面的屏幕截图所示。

交替颜色

同样,将 ProjectName Header 和 ProjectName Footer 的 Alternate Back Color 更改为 No Color,然后转到 Report View。

更改替代颜色

您现在可以看到报告的外观。要查看您的数据将如何逐页打印,让我们转到打印预览。

打印预览

这就是打印时的样子。

Ms Access – 内置函数

在本章中,我们将使用内置函数。在 Access 中,有近百个内置函数,几乎不可能涵盖其中的每一个。在本章中,我们将介绍一些比较流行的函数的基本结构、语法和使用,以及陷阱,以便您可以自行探索其他一些函数。

职能

函数是执行任务或计算并返回结果的 VBA 过程。函数一般可以用在查询中,但还有其他地方可以使用函数。

  • 您可以在表属性中使用函数,例如,如果您想为日期/时间字段指定默认值,您可以使用日期或现在函数从您的系统中调用当前日期/时间信息,并输入该值自动。

  • 您还可以在创建计算字段时在表达式中使用函数,或者在窗体或报表控件中使用函数。您甚至可以在宏参数中使用函数。

  • 函数可以非常简单,不需要调用其他信息,或者只需引用表或查询中的一个字段。

  • 另一方面,它们也可能变得非常复杂,具有多个参数、字段引用,甚至其他函数嵌套在另一个函数中。

现在让我们看一些使用内置函数的例子。

日期和时间函数

现在让我们了解日期和时间函数 –

  • Date() 函数旨在返回当前系统日期。此函数不需要任何函数参数或附加信息。您所要做的就是写下函数的名称以及那些左括号和右括号。

  • 有两个非常相似的内置函数 Time() 和 Now()。

  • Time() 函数仅返回当前系统时间,Now() 函数返回当前系统日期和时间。

  • 根据您要跟踪、存储或查询的数据,您可以使用三个易于使用的内置函数来帮助完成该任务。

现在让我们打开您的数据库并使用查询设计创建一个新查询并添加 tblProjects 和 tblTask​​s。

添加表格

添加来自 tblProjects 的 ProjectName 和来自 tblTask​​s 的 TaskTitle、StartDate 和 DueDate 并运行您的查询。

重新连接

您现在可以查看所有项目的所有不同任务。如果您想查看在今天日期正在进行的项目任务,那么我们必须使用Date()函数指定一个标准来查看在今天日期或之后开始的项目。

现在让我们指定 StartDate 下的条件。

日期函数

条件以大于号的运算符开头,后跟等于符号,然后是日期函数

当我们运行此查询时,所有任务都将在今天或将来发生,如下面的屏幕截图所示。

今天日期

这是一个如何使用 Date() 函数作为查询条件的示例。

  • 现在让我们说这个查询需要在本周开始提取的日期方面更加灵活。

  • 由于我们的标准,我们确实有几个不同的任务从本周开始,但没有出现在当前列表中。它查看等于今天或以上的开始日期。

如果我们想查看本周开始、尚未完成或今天应该完成的任务,让我们回到设计视图。

在这里,我们将为这些标准添加一些附加信息。事实上,我们希望它大于或等于今天的日期减去 7 天。

大于日期

如果我们输入减七并运行查询,您也可以看到本周开始的任务。

开始的任务

DateDiff() 函数

DateDiff() 函数是另一个非常流行的日期/时间函数。DateDiff 函数返回一个 Variant (long),指定两个指定日期之间的时间间隔数。换句话说,它计算两个日期之间的差异,您可以选择函数计算该差异的时间间隔。

现在假设我们要计算作者的年龄。为此,我们首先需要创建一个新查询并添加我们的作者表,然后添加 FirstName、LastName 和 BirthDay 字段。

日期差异

我们可以通过计算人们的出生日期或生日与今天的任何日期之间的差异来计算人们的年龄。

让我们尝试在新字段中使用 DateDiff 函数。

添加日期差异

让我们称其为 Age 后跟一个冒号,然后编写 DateDiff 函数。

  • DateDiff 函数的第一个函数参数是间隔,因此键入“yyyy”。
  • 下一个函数参数是我们想要计算的第一个日期,在这种情况下,将是生日字段。
  • 第三个函数参数是今天的日期。

现在,运行您的查询,您将看到显示每位作者年龄的新字段。

每位作者的年龄

Format() 函数

Format() 函数返回一个字符串,其中包含根据格式表达式中包含的指令格式化的表达式。这是可以在 Format() function.ss 中使用的用户定义格式列表

Setting 描述
yyyy
q 25美分硬币
m
y 一年中的一天
d
w 工作日
ww 星期
h 小时
n 分钟
s 第二

现在让我们回到您的查询并使用 Format() 函数添加更多字段。

格式函数

键入格式函数。第一个函数参数将是一个表达式,它几乎可以是任何东西。现在让我们将生日字段作为第一件事,接下来是编写我们的格式。在这种情况下,我们需要月、月、日、日。在引号中写入“mmdd”,然后运行您的查询。

参数表达式

它现在从生日字段中获取日期,4 是月份,17 是日期。

让我们在接下来的字段中添加“mmm”和“mmmm”而不是“mmdd”,如下面的屏幕截图所示。

添加月份

运行您的查询,您将看到如下屏幕截图所示的结果。

月份名称

在下一个字段中,它将返回该生日月份名称的前 3 个字符,在最后一个字段中,您将获得完整的月份名称。

要查看从生日开始的月份和年份,让我们添加“yyyy”,如下面的屏幕截图所示。

年

让我们再次运行您的查询。

月 年

您现在将看到月份后跟一个逗号,然后是年份。

IIf() 函数

IIf() 函数是“Immediate If”的缩写,该函数将表达式计算为真或假,并为每个表达式返回一个值。它最多有三个函数参数,所有这些都是必需的。

  • 第一个参数是您要计算的任何表达式。
  • 下一个参数代表 true 部分,如果您的第一个表达式为 true,它可以是一个值或返回的表达式。
  • 如果您的表达式为假,最后一个参数是您想要返回的内容。

例子

让我们举一个简单的例子。我们将使用查询设计创建一个新查询并添加 tblAuthors 表,然后添加以下字段。

立即如果

您现在可以看到我们有三个字段 — FirstName、MiddleInitial、LastName,然后是这个串联的字段,它将所有三个字段连接在一起。让我们运行您的查询以查看此查询的结果。

连续字段

现在,您可以看到查询的结果,但您还会注意到有些记录没有中间名首字母。例如,Joyce Dyer 记录没有中间名首字母,但在 FullName 字段中,您将看到实际上不需要出现的句点。所以,回到设计视图。在这里,我们将使用 IIf 函数以不同的方式连接名称。

不同的方式

让我们在另一个字段中写入名称并将其命名为 FullName1,然后键入 IIf 函数。

  • Immediate If 函数的第一个函数参数将是您的表达式。在表达式中,我们将查看中间的初始字段是空白还是为空。

  • 下一个论点是真实的部分。因此,如果中间名首字母为空,那么我们将要显示 FirstName 和 LastName。

  • 现在,对于我们的错误部分——如果 MiddleInitial 不为空,那么我们将要显示 FirstName、MiddleInitial 和 LastName。

现在让我们运行您的查询,您将看到如下屏幕截图所示的结果。

显示结果

Ms Access – 宏

在本章中,我们将介绍 Access 中宏的基础知识。宏是一种工具,可让您自动执行任务并向窗体、报表和控件添加功能。

  • Access 中的宏与 Word 或 Excel 中的宏有点不同,后者本质上是记录一系列击键并稍后播放。

  • 访问宏由一组预定义的操作构建而成,允许您自动执行常见任务,并向控件或对象添加功能。

  • 宏可以是可从导航窗格中查看的独立对象,也可以直接嵌入到窗体或报表中。一旦您创建了诸如表、窗体和报表之类的数据库对象,宏就可以提供一种快速简便的方法将所有这些对象联系在一起,以创建一个简单的数据库应用程序,任何人都可以使用甚至修改它,而只需相对较少的培训。

  • 宏提供了一种无需编写甚至不知道 VBA 代码即可运行命令的方法,并且您可以仅使用宏来实现很多功能。

创建宏

让我们开始创建一个非常简单的宏,它可以在单击命令按钮时打开一个表单。为此,我们需要打开您的数据库和 frmEmployeeData 表单,我们在其中创建了两个选项卡。

创建宏

在这个表单中,我们可以添加一个按钮,允许用户打开所有的工作信息。

工作信息

现在让我们转到此窗体的设计视图并在控件菜单中添加按钮窗体。当您松开鼠标时,您将看到命令按钮向导对话框。

普通按钮

有几种方法可以构建该宏操作,但最简单的方法是简单地使用命令按钮向导。

最简单的方法

对于打开表单等常见操作,请从“类别”列表中选择“表单操作”,然后从“操作”列表中选择“打开表单”并单击“下一步”,如上图所示。

工作岗位

您需要使用命令按钮指定要打开的表单。现在,让我们选择frmJobs并单击Next

打开记录

在这个屏幕中,我们有两个选项,我们可以打开表单并显示非常具体的记录,或者我们可以打开表单并显示所有记录让我们选择第二个选项,然后单击“下一步”,如上面的屏幕截图所示。

查看工作

我们可以让命令按钮本身显示一张图片,或者您可以选择显示文本。在这里,我们希望显示文本查看作业,然后单击下一步。

CmdViewJobs

您现在可以为命令按钮提供一个有意义的名称,如上面的屏幕截图所示。这可以在其他代码或其他宏中使用。让我们将此称为 cmdVi​​ewJobs并单击Finish

现在转到表单视图。

表单视图作业

您现在将在表单上看到“查看工作”按钮。让我们点击它。

查看工作按钮

现在您打开了一个表单,但您不会查看任何信息。让我们回到 frmEmployeeData 表单设计视图。确保选中命令按钮并单击属性表上的事件选项卡。

命令按钮

单击后,您将看到向导创建的嵌入宏。如果您现在要修改此宏,请单击…按钮以打开向导生成的宏。

嵌入式宏

这是宏设计器,您将在右侧看到操作目录。这是您所有操作都将保存在文件夹中的地方。您有数据输入选项、数据导入/导出等,在主区域的左侧还有另一个宏。它只包含一个操作,单击该操作可以查看该特定操作的其他属性。

宏设计器

您将看到表单名称,您可以点击该下拉箭头查看数据库中可用的表单。您可以更改该表单的查看方式,您可以选择将其打开到表单视图、设计视图、打印预览。您可以应用过滤器名称或 Where 条件。这里我们要更改数据模式,因为 frmJobs 设置为仅允许添加新记录的添加模式。我们可以在此宏中通过将其更改为编辑模式来覆盖它。

数据模式

现在保存您的宏,然后关闭宏设计器并返回到窗体视图。

保存宏

让我们再次单击查看工作。

查看作业

您现在可以看到它打开了您的 frmJobs 表单并允许您滚动浏览我们数据库中的所有可用工作。

Ms Access – 数据导入

在本章中,我们将讨论在 Access 中导入数据以及您可以使用 Access 导入哪些类型的数据。通常,数据以各种格式、文件和位置存储,这使得它很难获取和使用。如果您有电子表格、SharePoint 列表或某种其他格式的数据,只需几个步骤,您就可以将其导入 Access 数据库,从而在 Access 中更轻松地使用这些数据。

  • 另存为命令通常用于将文档另存为另一种格式,以便您可以在其他程序中打开它。

  • 在 Access 中,您不能以同样的方式使用“另存为”命令,您可以将 Access 对象另存为其他 Access 对象,但不能将 Access 数据库另存为电子表格文件。

  • 要将 Access 保存为电子表格文件,您需要使用“外部数据”选项卡上的导入功能。

可以导入不同类型的数据访问

要了解您可以在 Access 数据中导入哪些类型的数据,让我们打开您的数据库并转到“外部数据”选项卡。

进口

在导入和链接组中,您可以看到可用于 Access 中数据导入的不同类型的选项。以下是最常用的数据导入格式。

  • 微软办公软件
  • 微软办公室访问
  • ODBC 数据库(例如 SQL Server)
  • 文本文件(分隔或固定宽度)
  • XML 文件

例子

让我们看一个从 Excel 文件导入数据的简单示例。这是 Access 文件中的数据。

访问文件

要在 Access 中导入数据,我们首先需要打开 Access 数据库,然后转到“外部数据”选项卡,如下面的屏幕截图所示。

外部数据

在导入和链接组中,您将看到一个选项 Excel。让我们点击那个选项。

链接组

浏览要从中导入数据的 Excel 文件,然后我们有不同的选项来存储数据。让我们选择第一个选项并单击确定。

电子表格

在这里,您将看到数据的预览。现在,单击下一步。

预览数据

在预览中,您现在可以看到第一行包含列标题。现在让我们选中复选框并单击下一步。

字段选项

您现在将看到一个对话框,您可以在其中设置每个列/字段的数据类型。如果您不想导入任何字段,只需选中显示不导入字段的复选框。完成 FirstName 字段后,只需单击 MiddleInitial 字段即可。

中间初始

现在让我们浏览所有字段,然后单击下一步。

选择选项

以下是主键的不同选项。让我们选择第一个选项,然后单击下一步。

联系人

在最后一个对话框中,您可以输入您选择的表名并单击完成。

最后一个对话框

如果要保存所有这些步骤,请选中复选框并关闭对话框。

现在让我们转到导航窗格。您将看到此处添加了一个新表,当您打开新添加的表时,您将看到 Access 中的所有数据。

访问中的数据

例子

现在让我们看另一个从 Access 数据库导入数据的示例。让我们再次转到外部选项卡。

外部标签

在导入和链接组中,单击访问选项。

访问数据库

浏览要从中导入数据的 Access 数据库,然后选择第一个选项,即导入表、查询、表单等。现在,单击“确定”。

导入对象

在上面的对话框中,您可以看到表、查询、表单等的不同选项卡,您可以从中选择要导入的数据类型。

导入报告

让我们转到“报告”选项卡并选择您要导入的任何报告;您还可以通过单击“全选”按钮来选择所有数据让我们选择Projects并单击Ok

全选

现在,关闭对话框。在导航窗格中,您将看到添加了一个新报告。让我们打开此报告,您将看到该报告中的所有数据。

新报告

Ms Access – 数据导出

在本章中,我们将了解如何从 Access 导出数据。数据导出实际上与导入数据相反。在导入数据时,我们将其他格式的数据导入 Access,而在导出时,我们将数据保存为其他格式。

要了解您可以从 Access 数据导出哪些类型的数据,让我们打开您的数据库并转到“外部数据”选项卡。

出口

在“导出”组中,您可以看到可用于从 Access 导出数据的不同类型的选项。以下是最常用的数据导出格式 –

  • 微软办公软件
  • 微软办公室访问
  • ODBC 数据库(例如 SQL Server)
  • 文本文件(分隔或固定宽度)
  • XML 文件

例子

让我们看一个从 Access 导出数据的简单示例。打开要从中导出数据的数据库。在导航窗格中,选择要从中导出数据的对象。

导出数据

您可以从表、查询、表单和报表对象等导出数据。让我们选择 qryAllProjects,然后转到外部数据选项卡。

在“外部数据”选项卡上,单击要导出到的数据类型。例如,要以 Microsoft Excel 可以打开的格式导出数据,请单击 Excel。

电子表格

Access 启动导出向导。在向导中,您可以设置目标文件名和格式、是否包含格式和布局、要导出哪些记录等信息。完成所需信息后,单击“确定”。

导出向导

在向导的这个屏幕上,Access 通常会询问您是否要保存导出操作的详细信息。如果您认为需要重复执行相同的操作,请选中保存导出步骤复选框并关闭对话框。

将打开以下 Excel 文件。

保存导出

现在让我们假设您要将数据导出到文本文件,在“外部数据”选项卡上,单击“文本文件”。

文本文件

指定导出选项并单击确定。您将看到编码对话框,我们希望在其中以默认编码导出数据。

Windows 默认

选择第一个选项并单击确定。

第一个选项

在向导的这个屏幕上,Access 通常会询问您是否要保存导出操作的详细信息。如果您认为需要重复执行相同的操作,请选中保存导出步骤复选框并关闭对话框。

您现在将看到文本文件已打开。

探索

同样,您也可以探索其他选项。因此,强烈建议您也使用其他导入导出功能。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁