在MS Access中查询指定日期高尔夫球车租赁在外数量的方案
MS Access 查询指定日期某型号高尔夫球车在外租赁数量
要解决普通日期查询无法匹配租赁期间订单的问题,核心是判断指定日期是否落在订单的交付与取车日期区间内,以下是具体实现方法:
核心筛选逻辑
筛选订单需同时满足三个条件:
- 球车型号匹配目标型号
- 指定日期 ≥ 计划交付日期
- 指定日期 ≤ 计划取车日期
(如果业务定义取车当天不算在外,可将最后一个条件改为指定日期 < 计划取车日期)
实现方式
1. 可视化参数查询(适合不熟悉SQL的场景)
- 打开Access新建查询,添加你的订单表(假设表名为
租赁订单) - 将
球车型号和数量字段拖入查询设计网格 - 在
球车型号的「条件」行输入:[请输入要查询的型号:] - 在空白列的「字段」行输入:
日期匹配检查: [请输入查询日期:] Between [计划交付日期] And [计划取车日期],并在该列「条件」行输入True - 点击工具栏「总计」按钮,将
球车型号的总计方式设为Group By,数量设为Sum,日期匹配检查设为Where - 运行查询,输入型号和日期即可得到在外总数量
2. 直接SQL语句(灵活度更高)
如果习惯用SQL编写,可执行以下代码(替换表名、字段名和参数):
-- 硬编码参数版本,适合测试 SELECT Sum(数量) AS 在外总数 FROM 租赁订单 WHERE 球车型号 = 'XX型号' AND #2024-05-20# BETWEEN 计划交付日期 AND 计划取车日期;
或者使用参数化SQL,方便重复调用:
PARAMETERS [目标型号] Text(255), [查询日期] DateTime; SELECT Sum(数量) AS 在外总数 FROM 租赁订单 WHERE 球车型号 = [目标型号] AND [查询日期] BETWEEN 计划交付日期 AND 计划取车日期;
注意事项
- 确保
计划交付日期和计划取车日期为日期/时间类型,避免因文本格式导致匹配错误 - 周/月级长期租赁订单同样适用此逻辑,只要指定日期落在订单区间内就会被统计
内容的提问来源于stack exchange,提问作者Nicholas Marks
相关产品推荐
相关产品推荐

