Microsoft Access 数据库实用教程
前言:为什么学习 Access?
在 Excel、MySQL、SQL Server 等数据库工具层出不穷的今天,Access 依然有其不可替代的价值:

- 轻量级与易用性:无需复杂的安装和配置,一个
.accdb文件就是一个完整的数据库,易于分发和移动。 - 快速开发应用:通过“表单”和“报表”功能,可以快速为个人或小型团队创建功能完善的数据管理应用程序。
- 强大的数据整合能力:可以轻松链接到 Excel、SQL Server、SharePoint 等外部数据源,实现数据集成。
- 学习关系型数据库的绝佳起点:Access 直观地展示了表、关系、查询等核心概念,是学习更大型数据库系统(如 SQL Server)的完美跳板。
第一部分:基础概念与入门
第一章:认识 Access 数据库
一个 Access 数据库不是一张“超级表格”,而是一个包含了多个相互关联对象的容器,这些对象协同工作,以高效地管理数据。
核心对象:
- 表:数据库的基石,用于存储数据,每一张表代表一个主题(如“客户”、“产品”、“订单”),数据被组织成行(记录)和列(字段)。
- 查询:用于查找、筛选、组合和操作数据的工具,它像是一个“虚拟的表”,可以根据你的条件动态地从表中提取数据,而不会改变原始数据。
- 窗体:用户与数据库交互的界面,它提供了一个友好的、可视化的方式来查看、输入和编辑数据,而不是直接操作表格。
- 报表:用于将数据以格式化、可打印的方式呈现,报表可以对数据进行分组、排序、汇总,非常适合生成摘要、清单或分析报告。
- 宏:用于自动化一系列操作的工具,你可以将多个命令(如打开窗体、运行查询、发送邮件)组合成一个宏,一键执行,简化重复性任务。
- 模块:使用 VBA (Visual Basic for Applications) 编写的代码,用于实现更复杂、更高级的功能,例如复杂的算法、自定义函数或与其他应用程序的深度集成。
第二部分:实战操作指南
我们将通过一个经典的“订单管理系统”案例,一步步构建一个完整的 Access 应用。
第二章:创建数据库与设计表
目标:创建一个名为 订单管理系统.accdb 的数据库,并设计“客户”、“产品”和“订单”三张核心表。

步骤 1:创建新数据库
- 打开 Access,选择“空白数据库”。
- 在右侧的“文件名”框中,输入
订单管理系统.accdb,并选择保存位置。 - 点击“创建”。
步骤 2:创建表 - “客户表”
Access 提供了多种创建表的方式,我们推荐使用“设计视图”,因为它能让你精确控制每个字段的属性。
- 在“创建”选项卡中,点击“表设计”。
- 在下方的字段网格中,逐行输入字段名,并设置其数据类型。
| 字段名 | 数据类型 | 说明 |
|---|---|---|
| 客户ID | 自动编号 | 主键,系统自动生成唯一ID |
| 客户姓名 | 短文本 | 存储客户姓名 |
| 联系电话 | 短文本 | 存储电话号码 |
| 电子邮箱 | 短文本 | 存储邮箱地址 |
| 地址 | 长文本 | 存储详细地址 |
- 设置主键:选中“客户ID”字段行,在“表格工具”的“设计”选项卡中,点击“主键”(一个钥匙图标),主键是表中每条记录的唯一标识符,至关重要。
- 保存表:点击左上角的“保存”图标,输入表名“客户”,然后点击“确定”。
步骤 3:创建表 - “产品表”

按照同样的方法,创建“产品表”:
| 字段名 | 数据类型 | 说明 |
|---|---|---|
| 产品ID | 自动编号 | 主键 |
| 产品名称 | 短文本 | |
| 单价 | 货币 | 必须是货币类型,保证计算精度 |
| 库存量 | 数字 | 类型选择“长整型” |
步骤 4:创建表 - “订单明细表”
这张表是连接“订单”和“产品”的桥梁,它记录了每个订单里具体买了什么产品,以及数量和单价。
| 字段名 | 数据类型 | 说明 |
|---|---|---|
| 订单明细ID | 自动编号 | 主键 |
| 订单ID | 数字 | (稍后建立关系) |
| 产品ID | 数字 | (稍后建立关系) |
| 数量 | 数字 | 类型选择“长整型” |
| 单价 | 货币 | 下单时的单价,防止价格变动影响历史订单 |
步骤 5:创建表 - “订单表”
这张表记录了订单的总体信息。
| 字段名 | 数据类型 | 说明 |
|---|---|---|
| 订单ID | 自动编号 | 主键 |
| 客户ID | 数字 | (稍后建立关系) |
| 订单日期 | 日期/时间 | |
| 订单总金额 | 货币 | 可以通过查询计算得出 |
第三章:建立表关系
关系是 Access 的灵魂,它将独立的表连接成一个有机的整体。
目标:在“客户表”、“产品表”、“订单表”和“订单明细表”之间建立正确的一对多关系。
步骤 1:打开关系窗口
- 点击“数据库工具”选项卡。
- 点击“关系”组中的“关系”按钮。
步骤 2:添加表
- 在“关系”工具栏中,点击“显示表”。
- 依次将“客户表”、“产品表”、“订单表”和“订单明细表”添加到关系窗口中,然后关闭“显示表”对话框。
步骤 3:创建关系
-
客户与订单:将“客户表”中的“客户ID”字段拖拽到“订单表”中的“客户ID”字段上。
- 在弹出的“编辑关系”对话框中,勾选“实施参照完整性”,这可以防止将订单分配给不存在的客户。
- 点击“创建”,你会看到一条连接线,两端是“1”和“∞”,表示一对多关系(一个客户可以有多个订单)。
-
产品与订单明细:将“产品表”中的“产品ID”字段拖拽到“订单明细表”中的“产品ID”字段上。
- 同样,勾选“实施参照完整性”。
- 点击“创建”,这也是一对多关系(一个产品可以出现在多个订单明细中)。
-
订单与订单明细:将“订单表”中的“订单ID”字段拖拽到“订单明细表”中的“订单ID”字段上。
- 勾选“实施参照完整性”。
- 点击“创建”,这也是一对多关系(一个订单可以包含多个产品明细)。
最终关系图:
重要提示:勾选“实施参照完整性”后,Access 会强制维护数据的一致性,这是保证数据质量的关键。
第四章:使用查询提取和分析数据
查询是 Access 最强大的功能之一。
目标:创建一个查询,显示所有订单的详细信息,包括客户姓名、产品名称、数量和单价。
步骤 1:创建查询
- 在“创建”选项卡中,点击“查询设计”。
- 在“显示表”对话框中,添加“客户表”、“订单表”、“订单明细表”和“产品表”,然后关闭对话框。
步骤 2:链接表
Access 可能没有自动建立表之间的链接,你需要手动拖拽:
- 从“客户表”的“客户ID”拖到“订单表”的“客户ID”。
- 从“订单表”的“订单ID”拖到“订单明细表”的“订单ID”。
- 从“产品表”的“产品ID”拖到“订单明细表”的“产品ID”。
步骤 3:选择字段
- 从每个表中,双击你需要的字段,将其添加到下方的网格中:
- 客户表:
客户姓名 - 订单表:
订单日期 - 产品表:
产品名称 - 订单明细表:
数量,单价
- 客户表:
步骤 4:添加计算字段
- 在网格的“字段”行最后一列,输入:
总金额: [数量]*[单价]总金额是你为这个计算列起的别名。[数量]和[单价]是引用字段名,Access 会自动识别。
步骤 5:运行查询
- 切换到“查询工具”的“设计”选项卡,点击“运行”。
- 你将看到一个动态的结果集,显示了所有订单的明细。
保存查询:点击保存,命名为“订单明细查询”。
第五章:使用窗体和报表优化用户体验
直接让用户操作表是不友好的,窗体和报表提供了专业的交互界面。
目标:为“客户表”创建一个数据输入窗体,并为“订单明细查询”创建一个汇总报表。
创建窗体:
- 在左侧导航窗格中,右键点击“客户表”。
- 选择“窗体”,Access 会自动为你创建一个美观的、功能齐全的数据输入窗体。
- 切换到“布局视图”或“设计视图”,你可以调整控件的位置、大小和样式,使其更符合你的需求。
- 保存窗体,命名为“客户数据录入”。
创建报表:
- 在左侧导航窗格中,右键点击之前创建的“订单明细查询”。
- 选择“报表”,Access 会自动生成一个基于查询数据的报表。
- 在“布局视图”下,你可以:
- 添加分组:选中“客户姓名”字段,在“设计”选项卡中点击“分组和排序”,按“客户姓名”进行分组,方便查看每个客户的订单。
- 添加汇总:在“设计”选项卡中,点击“汇总”,为“总金额”添加“小计”和“总计”。
- 保存报表,命名为“销售订单汇总报表”。
第三部分:进阶与最佳实践
第六章:宏与自动化
目标:创建一个宏,当打开数据库时,自动打开“客户数据录入”窗体。
- 在“创建”选项卡中,点击“宏” -> “宏”。
- 在宏设计器中,点击“添加新操作”下拉框。
- 选择
OpenForm。 - 在下方的参数中:
- 窗体名称:选择
客户数据录入。 - 视图:选择
窗体。 - 数据模式:选择
只读或添加。
- 窗体名称:选择
- 保存宏,命名为
AutoExec。- 关键:宏名
AutoExec是一个特殊名称,只要存在名为AutoExec的宏,它就会在数据库打开时自动运行。
- 关键:宏名
下次你打开 订单管理系统.accdb 时,AutoExec 宏会自动运行,打开指定的窗体。
第七章:最佳实践与技巧
- 数据规范化:在设计表时,避免数据冗余,不要在“订单表”中存储客户姓名,而是通过“客户ID”关联到“客户表”,这能节省空间、减少错误并提高数据一致性。
- 输入掩码:在表设计视图中,为“联系电话”等字段设置输入掩码(如
(000) 000-0000),可以强制用户按特定格式输入数据。 - 验证规则:为字段设置验证规则,如“订单日期”不能早于“2025/1/1”,或者“库存量”不能为负数,这能有效防止无效数据进入数据库。
- 命名约定:为表、查询、字段等对象使用清晰、一致的命名(如
tblCustomers,qryOrders,frmCustomerEntry),方便日后维护。 - 定期备份数据库:数据是无价的,定期将
.accdb文件复制到安全的位置,或使用 Access 内置的“备份数据库”功能。 - 信任中心设置:当打开包含宏或代码的数据库时,Access 可能会显示安全警告,请了解“信任中心”的设置,以在保证安全的前提下运行你的数据库。
通过本教程,你已经掌握了 Access 数据库的核心操作流程:
- 设计 -> 建表 -> 建关系
- 查询 -> 分析
- 窗体 -> 交互 -> 报表 -> 呈现
- 宏 -> 自动化
Access 是一个功能强大且灵活的工具,从个人理财、小型库存管理到部门级的任务跟踪,它都能胜任,希望这份教程能帮助你开启 Access 数据库之旅,并利用它创造出真正实用的数据管理解决方案。
