access-sql 和 VBA:SUM 当前月份和年份(2017 年 2 月)和当前月份和去年(2016 年 2 月)

Posted

技术标签:

【中文标题】access-sql 和 VBA:SUM 当前月份和年份(2017 年 2 月)和当前月份和去年(2016 年 2 月)【英文标题】:access-sql and VBA: SUM current month and year(february/2017) AND current month and last year (february/2016) 【发布时间】:2017-02-24 11:39:15 【问题描述】:

我想在 Access 中创建一个表单,该表单应汇总当前月份和年份以及当前月份和去年的产品销售数量。

结果应该是这样的:

ProductID、Sales16、Sales17

我应该如何进行?因此,我每个月都会通过单击访问工具中的按钮自动获得所需的结果。 也许将 vba 代码与 SQL 查询结合起来?

给定字段: productid, dateofsale(dd:mm:yyyy), numberofsale, ...

我感谢每一个帮助、提示、...

谢谢你! :)

【问题讨论】:

【参考方案1】:

虽然您可以走这条路,但为什么不使用访问报告?它将对来自任何查询或表的数据进行分组和聚合。

应使用表单来输入和编辑数据。报告应该用于显示来自您的数据库的报告。它会为您省去很多麻烦,而且您可能不需要任何代码,因为您的要求很简单。

【讨论】:

【参考方案2】:

你可以使用这个查询:

Select 
    productid, 
    Sum(IIf(dateofsale Between 
        DateSerial(Year(Date()), Month(Date()), 1) And
        DateSerial(Year(Date()), Month(Date()) + 1, 0), numberofsale, 0)) As
    totalthis,
    Sum(IIf(dateofsale Between 
        DateSerial(Year(Date()) - 1, Month(Date()), 1) And
        DateSerial(Year(Date()) - 1, Month(Date()) + 1, 0), numberofsale, 0)) As
    totallast
From
    YourTable
Group By
    productid

【讨论】:

以上是关于access-sql 和 VBA:SUM 当前月份和年份(2017 年 2 月)和当前月份和去年(2016 年 2 月)的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA SQL UNION SUM 对具有不同列名的表进行 GROUP BY

Access-SQL:与多个表的内部联接

访问 VBA 以将 SUM() 添加到查询字符串

使用 VBA 读写后 Excel 日期更改(月份和日期交换)

如何在给定条件下在 VBA 中显示月份

VBA 根据日期筛选数据