Excel 处理人事数据,很多人用过;Access 存人事数据,很多人听说过;把两者用 VBA 连起来做一个小系统,才是这个需求里真正有价值的工程点。标题里的“10 分钟”,指的是 Access 表已经建好、Excel 表单已经画好、驱动和 Office 环境都没问题的前提下,把连接代码和增删改查代码串起来的时间。从零开始的环境准备、库表设计、表单布局和联调,实际会超过 10 分钟。下面从数据库设计开始讲,目标是得到一个能录入、能查询、能修改、能删除的企业人事信息管理系统。
1. 先理解:Excel + Access 在人事系统中各扮演什么角色
1.1 这个组合解决什么问题
很多中小团队的人事数据一开始就是一堆 Excel 表格,像《员工基本信息》《转正名单》《离职记录》《部门岗位对照表》。这些表随手就能建,双击就能改,但问题也很明显:同一个员工在多个表里出现,工号写法和部门名称不统一;改了一个表,另一个表不会跟着更新;人数一多,想统计部门在册人数、查询入职满一年的员工,需要反复筛选复制。
Access 数据库解决的是“数据统一存储和按条件查询”。Access 是 Office 家族里带图形界面的关系型数据库,它把数据保存在 .accdb 文件里,数据之间可以建立关系,支持 SQL 查询,也能被多个程序通过统一的数据库连接访问。Excel 解决的是“大家熟悉的操作界面”。人事专员不一定要学会 Access 的窗体设计,也不需要背 SQL,只要打开 Excel,在指定单元格里输入员工信息,点按钮就能完成