按年月排序的交叉表查询

Crosstab query sort by year and month

我有以下 SQL 交叉表查询 (Microsoft Access)

TRANSFORM Sum(tbEcritureDetail.iMontantCHF) AS SumOfiMontantCHF
SELECT Format([dValeur],"mm\.yyyy") AS Mois, Sum(tbEcritureDetail.iMontantCHF) AS Ecart
FROM tbTypeCategories INNER JOIN ((tbCategories INNER JOIN (tbSousCategorie INNER JOIN (tbEcritureHeader INNER JOIN tbEcritureDetail ON tbEcritureHeader.KeyPK = tbEcritureDetail.iDocPrincipalRef) ON tbSousCategorie.KeyPK = tbEcritureDetail.iSousCategorie) ON tbCategories.KeyPK = tbSousCategorie.iRefCategorie) INNER JOIN tbComptes ON tbEcritureHeader.iCompteRef = tbComptes.KeyPK) ON tbTypeCategories.KeyPK = tbSousCategorie.iTypeCategorie
WHERE (((tbEcritureHeader.dValeur) Between #1/1/2013# And #12/31/2016#) AND ((tbComptes.sTypeCompte)<>"TITRES"))
GROUP BY Format([dValeur],"mm\.yyyy")
ORDER BY tbTypeCategories.sDescription
PIVOT tbTypeCategories.sDescription;

数据的排序方式与我预期的不完全一致(见屏幕截图)

我们可以注意到我们有 2013 年 1 月,然后是 2014 年 1 月,然后是 2015 年 1 月,等等...

我想要的是 2013 年 1 月、2013 年 2 月、...、2013 年 12 月、2014 年 1 月等...

我在交叉表查询中做错了什么?

如有任何帮助,我们将不胜感激。提前致谢。

尝试按格式排序([dValeur],"mm.yyyy")

TRANSFORM Sum(tbEcritureDetail.iMontantCHF) AS SumOfiMontantCHF
SELECT Format([dValeur],"mm\.yyyy") AS Mois, Sum(tbEcritureDetail.iMontantCHF) AS Ecart
FROM tbTypeCategories INNER JOIN ((tbCategories INNER JOIN (tbSousCategorie INNER JOIN (tbEcritureHeader INNER JOIN tbEcritureDetail ON tbEcritureHeader.KeyPK = tbEcritureDetail.iDocPrincipalRef) ON tbSousCategorie.KeyPK = tbEcritureDetail.iSousCategorie) ON tbCategories.KeyPK = tbSousCategorie.iRefCategorie) INNER JOIN tbComptes ON tbEcritureHeader.iCompteRef = tbComptes.KeyPK) ON tbTypeCategories.KeyPK = tbSousCategorie.iTypeCategorie
WHERE (((tbEcritureHeader.dValeur) Between #1/1/2013# And #12/31/2016#) AND ((tbComptes.sTypeCompte)<>"TITRES"))
GROUP BY Format([dValeur],"mm\.yyyy")
ORDER BY Format([dValeur],"mm\.yyyy")
PIVOT tbTypeCategories.sDescription;