获取Ms-Access中两个日期之间的月份名称



我有这个查询

SELECT TblSales.ProductCode, TblSales.ProductName, TblSales.QtySold, Right([Zdate],7) AS [Mn/Yr]
FROM TblSales
WHERE (((TblSales.zDate) Between [Forms]![FrmSales]![From] And [Forms]![FrmSales]![FinalTo]))
GROUP BY TblSales.ProductCode, TblSales.ProductName, TblSales.QtySold, Right([Zdate],7);

我需要这个结果像这些列(ProductCode-ProductName-Sum Of QtySold在第一个月从给定的日期-第二个月-第三个月-等等)

示例:如果两个日期是#1-1-2018#到#31-3-2018# -这些日期可以更改,因为[Forms]![FrmSales]![From] And [Forms]![From][FinalTo]——

列:ProductCode - productname - jan -2018- feb -2018- March-2018行:a1 -电脑- 2000 - 2500 - 3000

前一个数量为两个日期之间每个月售出的总数量,提前感谢。

编辑1:我无法进行交叉表查询,这个消息弹出交叉表错误

可以使用交叉表查询将行数据转置到列中。像这样:

PARAMETERS StartDate DateTime, EndDate DateTime;
TRANSFORM NZ(Sum(tblSales.QtySold), 0) AS SumOfQtySold
SELECT tblSales.ProductCode, tblSales.ProductName
FROM tblSales
WHERE (((tblSales.zDate) Between [StartDate] And [EndDate]))
GROUP BY tblSales.ProductCode, tblSales.ProductName
PIVOT Format([tblSales].zDate,"mmm-yyyy");

相关内容

  • 没有找到相关文章

最新更新