You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Access:构建近三年月度收入对比查询需求

在Microsoft Access中构建近三年月度收入对比查询的方法

假设你的LessonPayT表包含付款日期字段(如PayDate)和收入金额字段(如Amount),若字段名不同,替换为实际名称即可,以下两种方法可实现需求:

方法一:使用交叉表查询向导

  • 打开Access,进入「创建」选项卡,点击「查询向导」,选择「交叉表查询向导」后确定
  • 选择LessonPayT作为数据源,点击下一步
  • 行标题选择月份:添加PayDate字段,在「字段选项」中选「月」,修改显示名称为「月份」,点击下一步
  • 列标题选择年份:添加PayDate字段,在「字段选项」中选「年」,点击下一步
  • 交叉点选收入总和:选择Amount字段,「函数」选「Sum」,点击下一步
  • 命名查询(如MonthlyIncomeQ)后完成
  • 过滤近三年数据:打开查询设计视图,在年份字段的「条件」行输入>= Year(Date())-2,运行查询即可

方法二:手动编写SQL语句

直接切换到SQL视图,输入以下代码(替换字段/表名为实际名称):

TRANSFORM Sum(Nz(LessonPayT.Amount, 0)) AS 收入总和
SELECT Month(LessonPayT.PayDate) AS 月份排序, 
       Format(LessonPayT.PayDate, "mm月") AS 月份
FROM LessonPayT
WHERE Year(LessonPayT.PayDate) >= Year(Date()) - 2
GROUP BY Month(LessonPayT.PayDate), Format(LessonPayT.PayDate, "mm月")
ORDER BY Month(LessonPayT.PayDate)
PIVOT Year(LessonPayT.PayDate);
  • 说明:
    • Nz(Amount, 0)用于将无收入月份的空值替换为0,避免显示Null
    • WHERE Year(PayDate) >= Year(Date())-2筛选近三年数据(含当前年)
    • PIVOT Year(PayDate)将年份转为列,实现同年份收入横向对比
    • 月份排序字段用于保证结果按1-12月顺序排列,可在查询视图中隐藏该字段

补充说明

  • 若需查看年度总收入,可在查询中添加计算字段:年度总收入: Sum([2022]+[2023]+[2024])(替换为实际近三年年份)
  • 若表中存在其他筛选条件(如特定课程类型),可在WHERE子句中追加对应条件

内容的提问来源于stack exchange,提问作者melodist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:42:50