Microsoft Access 数据库完整教程
第一部分:Access 是什么?为什么要学它?
什么是 Access?

Microsoft Access 是微软公司开发的一款关系型数据库管理系统,它被包含在 Microsoft Office 套件中(有时作为独立应用出售),你可以把它想象成一个超级智能的电子表格。
- 电子表格 (如 Excel):擅长处理二维表格数据,适合少量、结构简单的数据。
- 数据库 (如 Access):擅长管理大量、相互关联、结构复杂的数据,能确保数据的准确性、一致性和完整性。
核心优势
- 上手快:对于熟悉 Office 界面直观,易于入门。
- 一体化:在一个文件(
.accdb)中包含了数据表、查询、窗体、报表等所有组件。 - 功能强大:不仅能存储数据,还能通过窗体进行友好的数据输入,通过查询快速筛选和分析数据,通过报表生成专业的打印文档。
- 自动化:可以通过 VBA (Visual Basic for Applications) 编程实现复杂的业务流程和自动化任务。
- 成本低:相比 SQL Server、Oracle 等大型数据库,成本极低,甚至免费(如果已有 Office 许可)。
适用场景
- 小型企业:客户管理、库存管理、订单跟踪、人事档案等。
- 部门级应用:销售业绩统计、项目进度跟踪、会议记录管理等。
- 个人项目:个人财务记账、图书收藏管理、联系人管理等。
- 原型开发:在开发大型应用前,快速构建一个数据模型和功能原型。
第二部分:Access 核心概念入门
在开始动手之前,必须理解几个基本概念,这是设计好数据库的关键。

数据库
一个 Access 数据库文件(扩展名 .accdb)就是一个完整的数据库,它像一个容器,存放着所有其他对象。
表
- 定义:数据的集合,是数据库的基石,一个数据库通常包含多个表。
- 特点:
- 每个表都有一个唯一的名称。
- 数据以行和列的形式存储。
- 行:称为 记录,代表一个独立的实体(一个客户、一个产品)。
- 列:称为 字段,描述实体的某个属性(客户的姓名、电话、地址)。
- 主键:表中的一个或多个字段,其值能唯一标识每一条记录。主键必须唯一且不能为空,这是建立表之间关系的基础。
关系

- 定义:在两个或多个表的公共字段之间建立的联系。
- 目的:将分散在不同表中的相关数据连接起来,以便进行查询和报表。
- 类型:
- 一对一:一个表中的记录只与另一个表中的一个记录相关联,较少使用。
- 一对多:最常见的关系,一个表(主表)中的一条记录可以与另一个表(从表)中的多条记录相关联,一个“客户”可以有多张“订单”。
- 多对多:一个表中的记录可以与另一个表中的多条记录相关联,反之亦然,一个“学生”可以选多门“课程”,一门“课程”也可以被多个“学生”选修,在 Access 中,通过创建一个中间表(也称为联接表)来实现多对多关系。
查询
- 定义:根据你设定的条件,从一个或多个表中提取、筛选、组合和计算数据的一种方式。
- 作用:
- 筛选数据:只显示你感兴趣的数据。
- 计算数据:对数据进行汇总、平均、计数等计算。
- 作为数据源:为窗体和报表提供数据,而不是直接从表中读取,这样更灵活且不影响原表数据。
窗体
- 定义:用户与数据库交互的图形界面。
- 作用:
- 数据输入:提供一个友好、直观的界面来向表中添加或编辑数据,避免用户直接操作表格。
- 数据显示:以更美观、更有组织的方式展示数据。
- 导航:通过按钮、菜单等实现数据库操作的导航。
报表
- 定义:用于打印或导出数据的正式文档。
- 作用:
- 数据汇总:对数据进行分组、排序、总计和汇总。
- 专业打印:设计精美的布局,适合打印成文档或分发给他人。
第三部分:实战演练 - 创建你的第一个 Access 数据库
我们将以一个简单的“联系人管理系统”为例,一步步完成。
步骤 1:创建数据库文件
- 打开 Microsoft Access。
- 选择 “空白数据库”。
- 在右侧的 “文件名” 框中,输入你的数据库名称,
联系人管理.accdb。 - 点击 “创建” 按钮,一个新的、空白的数据库文件就创建好了。
步骤 2:设计并创建表
这是最关键的一步,我们将创建两个表:“联系人”表和“公司”表,并建立它们之间的关系。
创建“联系人”表
- 在左侧的导航窗格中,右键单击 “表” 对象,选择 “表设计”。
- 在下方的 “字段名称” 列中,输入字段名:
联系人ID姓名电话手机电子邮箱公司ID(这个字段将用来关联“公司”表)
- 为每个字段设置 “数据类型”:
联系人ID:选择 “自动编号”,这会为每条新记录自动生成一个唯一的数字。姓名:选择 “短文本”。电话:选择 “短文本”。手机:选择 “短文本”。电子邮箱:选择 “短文本”。公司ID:选择 “数字”。
- 设置主键:
- 选中
联系人ID字段。 - 在 “表格工具” 选项卡中,点击 “主键”,你会看到该字段前出现一个钥匙图标。
- 选中
- 保存表:点击左上角的 保存 按钮,命名为
联系人。
创建“公司”表
- 再次右键单击 “表”,选择 “表设计”。
- 输入以下字段:
公司ID(数据类型:自动编号)公司名称(数据类型:短文本)地址(数据类型:短文本)
- 设置主键:选中
公司ID字段,点击 “主键”。 - 保存表,命名为
公司。
步骤 3:建立表关系
我们将“联系人”表和“公司”表关联起来。
- 点击顶部菜单栏的 “数据库工具” 选项卡。
- 在 “关系” 组中,点击 “关系”。
- 如果这是你第一次创建关系,会弹出一个“显示表”对话框,如果没弹出,点击 “关系” 选项卡下的 “显示表”。
- 分别将
联系人表和公司表添加到关系图中。 - 从
公司表中,按住鼠标左键将公司ID字段拖到联系人表中的公司ID字段上。 - 松开鼠标,会弹出 “编辑关系” 对话框。
- 勾选 “实施参照完整性”,这是非常重要的一个选项,它能确保数据的一致性(不能添加一个不存在的公司的联系人)。
- 你会看到关系类型是 “一对多”(公司是一,联系人是多)。
- 点击 “创建”,然后关闭关系窗口,保存关系布局。
步骤 4:创建数据输入窗体
现在我们不直接在表格里输入数据,而是创建一个更友好的窗体。
- 在左侧导航窗格中,确保选中了
联系人表。 - 点击 “创建” 选项卡。
- 在 “窗体” 组中,直接点击 “窗体” 按钮,Access 会自动为你创建一个基于“联系人”表的窗体。
- 你会看到一个漂亮的、可以填写的联系人信息表单。
- 添加公司下拉列表:
- 切换到 “布局视图”。
- 点击“公司ID”旁边的文本框。
- 在出现的 “列表框向导” 中,选择 “使用窗体中的值”,然后点击“下一步”。
- 选择
公司表,并选择公司名称字段作为要显示的列,点击“下一步”。 - 保持默认选择,点击“完成”。
- 当你点击“公司ID”框时,会弹出一个下拉列表,里面显示了所有公司名称,选择即可,无需手动输入ID。
- 保存窗体,命名为
联系人输入窗体。
步骤 5:创建查询
假设我们想查看所有“ABC公司”的联系人。
- 点击 “创建” 选项卡。
- 在 “查询” 组中,点击 “查询设计”。
- 在“显示表”对话框中,添加
联系人表和公司表,Access 会自动通过我们之前建立的关系连接它们。 - 从
联系人表中,将姓名、电话、手机字段拖到下方的设计网格中。 - 从
公司表中,将公司名称字段拖到设计网格中。 - 在
公司名称字段的 “条件” 行中,输入'ABC公司'(注意:文本值需要用单引号括起来)。 - 点击 “运行”(感叹号图标),你会看到查询结果只显示了“ABC公司”的联系人。
- 保存查询,命名为
查询ABC公司联系人。
步骤 6:创建报表
假设我们要打印一份所有联系人的名单。
- 点击 “创建” 选项卡。
- 在 “报表” 组中,点击 “报表”,Access 会基于你当前选中的对象(或所有表)自动生成一个基础报表。
- 切换到 “布局视图” 或 “设计视图” 进行调整,例如添加标题、调整字段顺序和宽度等。
- 保存报表,命名为
联系人名单报表。
第四部分:进阶学习路径
当你掌握了基础操作后,可以探索更高级的功能:
- SQL 视图:在查询设计视图中,右键单击选择 “SQL 视图”,你会看到查询背后的 SQL (Structured Query Language) 代码,学习 SQL 可以让你编写更强大、更复杂的查询。
- VBA 编程:这是 Access 的“超能力”,通过 VBA,你可以:
- 创建复杂的按钮和菜单功能。
- 自动执行重复性任务(如批量数据处理)。
- 开发完整的应用程序界面。
- 处理错误和异常。
- 宏:对于简单的自动化任务,无需编写代码,可以使用宏,宏是一系列操作的集合,可以像录制脚本一样被创建。
- 优化与安全:学习如何压缩和修复数据库以提高性能,以及如何设置用户和权限来保护数据安全。
第五部分:学习资源推荐
- 官方文档:Microsoft 官网有最权威的帮助文档。
- 视频教程:
- Bilibili / YouTube:搜索 "Access 教程",有大量免费且高质量的中文视频课程,非常适合初学者。
- Udemy / Coursera:有系统性的付费课程,内容更深入。
- 书籍:经典的 Access 书籍如《Access 2025 Bible》等,内容详尽,可以作为案头参考。
- 社区论坛:MSDN 论坛、Stack Overflow 是遇到问题时寻求帮助的好地方。
学习 Access 的最佳路径是:理解核心概念 -> 动手实践小项目 -> 逐步探索高级功能,不要害怕犯错,数据库设计是一个迭代和优化的过程,从一个简单的联系人管理或库存管理开始,你会发现 Access 是一个非常实用且强大的工具,祝你学习顺利!
