Skip to content

Access 查询、窗体、报表与维护 ​

本篇接续客户与订单数据库。先用查询明确数据范围,再用窗体改善输入、报表安排输出。把界面做出来不等于数据规则已经正确。

图示跟练把核对后的查询交给窗体与报表

点击步骤切换图示,再到 Office 中跟做;每一步都可跳到下方详细说明。

Access练习文件 · 界面示意
③ 查询设计操作 / 设置示意

连接:CustomerID

字段:客户、订单、日期、金额

详细输入与检查见本步正文 ↓
简化示意,非软件截图。以 Windows 中文界面为主,实际按钮位置与功能取决于版本;可在应用搜索框查找命令。

建立订单明细查询 ​

选择“创建 → 查询设计”,加入 Customers 和 Orders,确认通过 CustomerID 正确关联。把 CustomerName、OrderID、OrderDate、Amount、Status 加入下方设计网格,运行后应看到三条练习订单。

如果结果数量突然增多,检查是否缺少连接条件或连接键重复。只查询单表不需要连接另一张表;需要显示没有订单的客户时,则要明确采用能保留客户行的外连接,而不是默认认为所有客户都会出现。

可切换到 SQL 视图理解同一查询。本例字段名与前一篇一致:

sql
SELECT Customers.CustomerName,
       Orders.OrderID,
       Orders.OrderDate,
       Orders.Amount
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;

先用选择查询预览记录范围,再考虑任何更新或删除查询。修改类查询会真正改变数据,应在备份副本中验证匹配数量和结果。

参数与汇总 ​

在 OrderDate 条件中使用参数筛选日期范围,并在“查询参数”中把参数类型定义为日期/时间,避免被当作文本。若数据含时间,按开始日包含、结束边界不包含的方式处理更清晰;结束参数可约定为下一天或下月第一天。

需要按客户求和时启用汇总行,客户字段分组,金额字段求和。原始三笔 100、200、300 的总额仍应是 600;分组结果相加必须能回到原始范围总额。空值与零含义不同,使用 Nz 等转换前先定义业务规则。

窗体与组合框 ​

选中 Orders,使用窗体向导建立录入窗体。将客户输入改为组合框,显示客户名称,实际保存 CustomerID;正确设置绑定列和列宽,避免只保存名称导致改名后关系失效。

给必填字段明确标签,日期、金额和状态设置适当验证。测试新增、修改、取消和导航记录时的保存行为,了解何时写入数据库。窗体隐藏某个字段并不会从底层表删除或保护该字段,权限设计需要另外处理。

报表与打印 ​

基于已核对的查询创建报表,按客户分组,显示订单日期和金额,在组页脚添加金额合计。设置标题、统计范围、页码和单位,再在打印预览检查跨页分组和总计位置。

报表只是查询结果的版式,不会自动纠正查询范围。导出 PDF 后检查行数、分组总额和页面裁切,避免只看第一页就交付。

多人使用与维护 ​

多人场景需要评估网络稳定性、文件锁和冲突,常见做法是将表放到后端、查询和界面放到每人本地前端,但这不是任意网络环境下的可靠性保证。不要让多人直接编辑云盘同步目录中的同一数据库文件来模拟数据库服务器。

备份应在一致、可恢复的状态下完成,尤其是有人正在写入时不能把一次普通复制视为可靠备份。压缩和修复前先保留备份并让其他用户退出;它不是定期备份的替代品,也不能保证修复所有损坏。

练习与验收 ​

用窗体新增一笔 50 元订单,查询总额应从 600 变为 650,报表中应出现正确客户分组。关闭并重开数据库确认记录保留,再在副本中测试恢复流程。正式多人应用还需单独验证并发、权限与恢复能力。

图示跟做:把核对后的查询交给窗体与报表 ​

按上方图示切换三个关键步骤;下面保留完整操作和检查结果,便于跟做与回查。请先使用练习副本。

第 1 步:先证明查询范围正确 ​

定位:创建 → 查询设计。

加入 Customers 和 Orders,确认关联字段后,把客户名、订单号、日期和金额放入查询网格。运行选择查询,应得到前章三笔订单,合计 600。结果多出记录时先查连接条件,不要先用去重按钮把异常数量压回去。

第 2 步:验证输入真正写入了正确字段 ​

定位:创建 → 窗体向导。

用窗体向导创建 Orders 录入窗体。设计视图中使用控件向导添加客户组合框,从 Customers 读取编号和名称,选择把值存入 CustomerID;显示名称但保存编号。新录入一笔 50 元订单,关闭再重开,检查底层订单表的客户编号与金额。

第 3 步:让报表与查询独立相符 ​

定位:创建 → 报表向导。

基于已核对查询创建报表,按客户分组并给金额设置求和,进入打印预览。新订单加入后总额应为 650,且落在正确客户分组。检查页面宽度、组标题和页脚,再导出 PDF;报表样式漂亮不能替代对查询范围的核对。

没有得到预期结果时 ​

组合框只“记住该值以备以后使用”时不会写入订单字段。检查控件来源、绑定列与记录源,并通过关闭重开后查询底层表来确认保存行为。

图示操作参考:微软官方:组合框的显示值与绑定字段。核对日期:2026-11-02;界面示意与练习案例为本站独立编写。

继续阅读