Access 数据库最大的据库教程优势是能在一个文件里装下整个应用。表、据库教程查询、据库教程窗体、据库教程报表、据库教程宏、据库教程VBA 模块,据库教程全都塞进一个 .accdb 文件。据库教程拷贝这个文件到另一台装有 Access 的据库教程电脑上,双击就能跑。据库教程这种便携性在小型项目里几乎没有对手。据库教程
打开 Access,据库教程第一眼看到的据库教程是导航窗格。所有对象按类别列在里面,据库教程双击就能打开。据库教程新手容易把 Access 当成 Excel 用,直接在表里敲数据。表确实是存数据的地方,但表的设计才是关键。字段类型选错,后面查询和报表都会出问题。比如把电话号码存成数字类型,开头的零就丢了。把日期存成文本,排序和计算全乱套。
设计表的时候,主键是必须想清楚的事。自动编号最省事,但业务上有自然主键就别用自动编号。比如学生表用学号做主键,比自动编号有意义。外键关联是 Access 的强项,在“关系”窗口里拖拽字段就能建立一对多关系,勾选“实施参照完整性”之后,子表里插入不存在的父表 ID 会被拒绝。
查询才是 Access 真正干活的地方。选择查询、参数查询、交叉表查询、操作查询,各有各的用处。最常用的是选择查询,把多个表按关联字段连起来,筛选出需要的记录。SQL 视图里可以直接写语句,但设计视图更直观。有个细节:在条件行里写 Like “张*” 可以模糊匹配姓张的人,星号在 Access 里代表任意字符,不是百分号。
参数查询让用户自己输入条件。在条件行写 [请输入姓名],运行时就会弹窗。这个功能做小型报表特别顺手。交叉表查询能把行数据转成列,比如把月份变成列标题,每个单元格显示销售额。操作查询要小心,更新查询和删除查询执行后没法撤销。建议先做成选择查询看看结果对不对,再改成操作查询。
窗体是用户界面。绑定表或查询之后,拖拽字段就能生成输入框。控件向导能自动生成组合框、选项组。有个坑:子窗体在主窗体里显示关联数据,必须正确设置“链接主字段”和“链接子字段”。设错了就显示全部记录,不是筛选后的。窗体属性里的“弹出方式”和“模式”控制窗口行为,模式窗体必须关闭才能操作其他窗口。
报表用来打印。分组和排序是核心功能。按客户分组显示订单,每组末尾加小计,报表页脚加总计。表达式写成 =Sum([金额]) 就行。打印预览里调整列宽,别在页面视图里调,容易错位。导出 PDF 很方便,但中文字体偶尔会乱,嵌入字体能解决。
宏和 VBA 看情况用。简单操作比如打开窗体、运行查询,宏就够了。需要循环、错误处理、调用 API,必须上 VBA。VBA 编辑器按 Alt+F11 打开,代码写在标准模块或窗体模块里。DoCmd 对象是操作 Access 界面的主力,DoCmd.OpenForm、DoCmd.RunSQL 都很常用。调试用 F8 单步执行,立即窗口里用 ? 加表达式看值。
Access 的局限也很明显。并发用户超过二十个,性能下降厉害。网络共享 .accdb 文件,多人同时写容易锁表。数据量上百万行,查询就慢了。这时候该考虑升迁到 SQL Server,Access 只做前端。升迁向导能自动转移表和查询,窗体报表基本不用改。
学 Access 最快的路径是做一个实际项目。比如管理家里的藏书,或者记录小店的进货出货。从建表开始,边做边查。遇到问题再学对应功能,比从头啃教程有效得多。网上很多教程按功能罗列,看完就忘。动手做一遍,错误犯一遍,记忆才牢固。