Microsoft Access 自学教程:从入门到精通
Access 是微软 Office 套件中的一个关系型数据库管理系统(RDBMS),它结合了数据库的强大功能和用户友好的图形界面,非常适合创建和管理中小型数据、开发个人或部门级的应用程序。
第一部分:基础知识与核心概念
在开始动手之前,理解 Access 的核心思想至关重要。

什么是 Access?
想象一下 Excel,它是一个强大的电子表格,但当你有上万行数据,并且需要根据多个条件快速查找、汇总、关联不同表格的数据时,Excel 就会变得非常笨重。
Access 就是为了解决这个问题而生的,它是一个数据库,专门用于高效地存储、管理和操作大量结构化数据。
Access 的六大核心对象
Access 的所有功能都围绕以下六个对象展开,你需要先认识它们:
| 对象 | 中文名 | 作用 | 类比 |
|---|---|---|---|
| Table | 表 | 数据的仓库,存储所有原始数据,Excel 的工作表。 | 仓库的货架 |
| Query | 查询 | 数据的筛选器,从一个或多个表中提取、筛选、计算和汇总数据。 | 仓库管理员,根据你的要求(订单)去取货 |
| Form | 窗体 | 数据的输入/输出界面,让用户以更直观、更安全的方式查看和输入数据。 | 给客户看的商品目录或下单表格 |
| Report | 报表 | 数据的打印机,用于将数据以格式化的、美观的方式打印出来或导出为 PDF。 | 商品销售报告、财务报表 |
| Macro | 宏 | 自动化任务的脚本,将一系列操作(如打开表、运行查询、发送邮件)组合在一起,一键执行。 | 自动化流水线 |
| Module | 模块 | 高级编程,使用 VBA (Visual Basic for Applications) 语言编写复杂的自定义函数和过程。 | 工厂的定制化机器 |
核心关系:

- 表 是基础,没有表,其他对象都无从谈起。
- 查询 从 表 中获取数据。
- 窗体 和 报表 显示 查询 或 表 的结果。
- 宏 和 模块 自动化以上所有对象的操作。
第二部分:分步实战教程
我们将以一个经典的“学生管理系统”为例,一步步创建一个完整的 Access 应用。
步骤 1:创建数据库和表
目标: 存储学生和课程的基本信息。
-
创建数据库文件
- 打开 Microsoft Access。
- 选择“新建”。
- 在模板搜索框中搜索“空白数据库”,然后点击“创建”。
- 选择一个位置保存你的文件,例如命名为
学生管理系统.accdb。
-
创建“学生”表

- 在左侧导航窗格中,双击“创建”选项卡下的“表设计”。
- 这会打开“设计视图”,在这里定义表的字段结构。
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| 学号 | 短文本 | 学生唯一标识,主键 |
| 姓名 | 短文本 | |
| 性别 | 短文本 | |
| 出生日期 | 日期/时间 | |
| 班级 | 短文本 | |
| 联系电话 | 短文本 | |
| 备注 | 长文本 | 可选信息 |
* **设置主键:** 在“学号”字段上右键点击,选择“**主键**”,主键是表中每条记录的唯一标识,非常重要。
* **保存表:** 点击左上角的“保存”图标,将表命名为“学生”。
- 创建“课程”表
- 再次点击“创建” -> “表设计”。
- 设计以下字段:
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| 课程ID | 短文本 | 课程唯一标识,主键 |
| 课程名称 | 短文本 | |
| 学分 | 数字 | |
| 开课学期 | 短文本 |
* 将“课程ID”设置为主键,并保存为“课程”。
- 创建“成绩”表(关联表)
- 这个表是连接“学生”和“课程”的桥梁,非常重要。
- 设计以下字段:
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| 成绩ID | 自动编号 | 自动生成,作为主键 |
| 学号 | 短文本 | 外键,关联到“学生”表 |
| 课程ID | 短文本 | 外键,关联到“课程”表 |
| 分数 | 数字 | |
| 考试日期 | 日期/时间 |
* 将“成绩ID”设置为主键。
* **建立关系:**
* 点击顶部菜单栏的“**数据库工具**” -> “**关系**”。
* 在“显示表”对话框中,添加“学生”、“课程”和“成绩”三个表。
* 将“学生”表中的“学号”字段拖拽到“成绩”表中的“学号”字段上,在弹出的对话框中,选择“**实施参照完整性**”,然后点击“创建”。
* 同样,将“课程”表中的“课程ID”字段拖拽到“成绩”表中的“课程ID”字段上,同样选择“**实施参照完整性**”。
* 保存并关闭关系图。
步骤 2:创建查询
目标: 查询某个学生的所有课程成绩。
-
创建查询
- 在左侧导航窗格,点击“创建”选项卡。
- 点击“查询设计”。
- 在“显示表”对话框中,添加“学生”、“成绩”和“课程”三个表,Access 会自动帮你建立好的关系连接起来。
- 在“学生”表中,双击“姓名”字段。
- 在“成绩”表中,双击“分数”字段。
- 在“课程”表中,双击“课程名称”字段。
- 你的查询设计视图看起来应该像这样:
- 字段: 学生.姓名, 成绩.分数, 课程.课程名称
- 表: 学生, 成绩, 课程
-
运行查询
- 点击“运行”按钮(感叹号图标)。
- 你会看到一个数据表视图,显示了所有学生的姓名、课程名称和对应分数。
-
添加筛选条件
- 切换回“设计视图”。
- 在“学生.姓名”字段的“条件”行中,输入
[请输入学生姓名:]。 - 运行”查询,Access 会弹出一个对话框,让你输入一个具体的姓名,张三”,然后只显示张三的成绩。
步骤 3:创建窗体
目标: 为“学生”表创建一个美观的数据输入界面。
-
创建窗体
- 在左侧导航窗格,选中“学生”表。
- 点击“创建”选项卡。
- 在“窗体”组中,点击“窗体”,Access 会自动为你生成一个简单的窗体。
- 切换到“布局视图”,你可以通过拖动字段来调整布局,让它看起来更舒服。
- 保存窗体,命名为“学生信息录入”。
-
使用窗体
- 在左侧导航窗格中双击“学生信息录入”窗体。
- 你现在可以通过底部的导航按钮(第一条、上一条、下一条、最后一条)来浏览学生记录,也可以直接在窗体中添加、修改或删除数据,这比直接在表格视图中操作直观得多。
步骤 4:创建报表
目标: 生成一份所有学生的成绩单。
-
创建报表
- 在左侧导航窗格,选中我们之前创建的那个查询(比如名为“查询1”)。
- 点击“创建”选项卡。
- 在“报表”组中,点击“报表”,Access 会基于查询数据自动生成一个报表。
- 切换到“布局视图”或“设计视图”,你可以调整字体、颜色、添加标题等,让报表更专业。
- 保存报表,命名为“学生成绩单”。
-
使用报表
- 在左侧导航窗格中双击“学生成绩单”报表。
- 数据会以整洁、分页的格式显示出来,非常适合打印。
第三部分:学习资源与进阶
推荐学习资源
-
微软官方文档 (首选)
- Access 帮助和支持: 直接在 Access 中按
F1键,或访问 Microsoft Access 官方文档,这是最权威、最准确的信息来源。
- Access 帮助和支持: 直接在 Access 中按
-
在线视频教程
- Bilibili (B站): 搜索“Access 教程”、“Access 入门”,有大量国内UP主制作的免费视频,非常直观。
- YouTube: 搜索 "Access Tutorial for Beginners",有很多高质量的英文教程,配有中文字幕。
-
互动学习平台
- W3Schools / 菜鸟教程: 提供基础的 Access 语法和概念解释。
- Udemy / Coursera: 有系统化的付费课程,适合深入学习。
进阶学习路径
-
深入学习查询:
- 参数查询: 我们已经用过,让用户输入条件。
- 交叉表查询: 用于进行数据透视,类似 Excel 的数据透视表,非常强大。
- 操作查询: 包括生成表查询(从查询结果创建新表)、追加查询(添加数据到现有表)、更新查询(批量修改数据)、删除查询(批量删除数据)。
-
掌握宏:
学习使用宏来自动化常见任务,点击一个按钮打开另一个窗体、发送一封邮件、验证输入数据等,这是 Access 无需编程就能实现自动化的核心。
-
学习 VBA 编程:
- 当宏无法满足复杂需求时,VBA 就派上用场了。
- 入门: 学习如何打开 VBA 编辑器 (
Alt + F11),理解对象、属性、方法、事件的概念。 - 实践: 尝试编写简单的 VBA 代码,
MsgBox "Hello, World!",或者为按钮点击事件编写代码来执行复杂的逻辑判断。 - 高级应用: 创建自定义函数、处理错误、与其他 Office 应用程序(如 Excel)交互等。
学习建议与最佳实践
- 从模仿开始: 找一个你喜欢的 Access 应用模板,尝试自己从头到尾复刻一遍。
- 数据规范化: 学习数据库设计的三大范式,这是设计高效、无冗余数据表的关键,避免把所有信息都堆在一个大表里。
- 命名规范: 为你的表、查询、字段等使用清晰、一致的命名规则(使用下划线
student_info或驼峰命名法studentInfo)。 - 备份!备份!备份! 定期备份数据库文件(
.accdb),防止数据丢失。 - 用户体验至上: 一个好的 Access 应用,其核心是让不懂数据库的用户也能轻松使用,花时间设计好窗体和报表,隐藏复杂的技术细节。
祝你学习顺利!Access 是一个功能强大且有趣的工具,一旦掌握了它,你将能高效地处理各种数据问题。