Access 2010 here。MS-Access包含日期范围查询中的所有日期
回到另一个益智游戏。我有这个查询:
SELECT DischargeDatabase.Date, Avg([pH]) AS [pH Value], Avg([Temperature]) AS [Temperature (°C)], Avg([ZincLevel]) AS [Zinc (mg/l)], Sum([Effluent]) AS [Discharge (gal)], Count(*) AS [# Discharges]
FROM DischargeDatabase
WHERE DischargeDatabase.Date Between Forms!QueryForm!TextCriteriaQ0A And Forms!QueryForm!TextCriteriaQ0B
GROUP BY DischargeDatabase.Date;
从我一直在建设的废水处理数据库。这给出了废水排放的日常总结,平均pH,温度和锌水平,并将排放量(流出物)相加。用户使用日期选择器在“QueryForm”的两个文本框中选择一个范围,然后运行查询。
显示的是按日期分组的日期范围内的放电,并且仅列出了具有放电的天数。用户所要求的是每天选择要显示的范围,而“DischargeDatabase”中没有记录的那些日期只有字段值为零。
即从这个(日期范围2013年4月11日至2013年4月16日,在一个周末):
Date | ph Value | Temperature (°C) | Zinc (mg/l) | Discharge (gal) | # Discharges
4/11/2013 9.5 18.6 0.89 5000 5
4/12/2013 9.1 17.9 1.68 3000 2
4/15/2013 8.9 19.6 1.47 10000 7
4/16/2013 9.6 18.2 0.35 1500 1
这样:
Date | ph Value | Temperature (°C) | Zinc (mg/l) | Discharge (gal) | # Discharges
4/11/2013 9.5 18.6 0.89 5000 5
4/12/2013 9.1 17.9 1.68 3000 2
4/13/2013 0.0 0.0 0.0 0 0
4/14/2013 0.0 0.0 0.0 0 0
4/15/2013 8.9 19.6 1.47 10000 7
4/16/2013 9.6 18.2 0.35 1500 1
这一切,使得用户可以将查询粘贴到Excel电子表格中而不会出现问题。我甚至不确定这是可能的,还是在查询的范围内(您正在“选择”不存在的记录)。什么可能工作是某种与预填充零的假表/查询连接?
谢谢你的帮助和任何想法!
我喜欢这个解决方案。无论试图将参数传递给LoadCalendar还是传递任何参数,我都得到了“错误94 - 无效的空值使用”。但是,将intYear设置为静态“2013”,然后运行LoadCalendar子“工作”。不知道这是我的系统还是什么,但年(日期)不适合我。现在查看修复程序。谢谢。 – Phizon 2013-04-30 19:41:08
Doh,Year(Now())似乎有效,并且将在一年内改变。再次感谢你! – Phizon 2013-04-30 19:47:48
我无法在'LoadCalendar'中找到问题。我很困惑为什么“年(日期)”出现问题。它给了我一个整数的2013年。 – HansUp 2013-04-30 20:28:39