2016-07-06 23 views
1

私はACCESSのクエリを使用して、グラフを作成して(フォームで示されています)、サプライヤの毎月の消費データを表します。私は、x軸を時系列順に月にしたい、これが私が問題を抱えているところです。 enter image description hereMs ACCESSとクエリ:グラフ内の日付が順不同

画像は、上記のX軸は、次の最も早い日付が2015年

グラフを作成するクエリコード8月であるが、2016年4月から始まることを示している:

SELECT (Format([DateStamp],"mmm"" '""yy")) AS Expr1, Sum([Item Master].SpendPerMaterial) AS Expr2 
FROM [Item Master] 
WHERE ((([Item Master].SupplierName)=[Forms]![Supplier History]![List0])) 
GROUP BY (Format([DateStamp],"mmm"" '""yy")), (Year([DateStamp])*12+Month([DateStamp])-1); 

[アイテムマスタ]はすべてのデータが取得されたテーブルです。 DateStampは月を含む列を参照し、SpendPerMaterialはその月の特定の品目の費目(品目レベルではなくサプライヤーレベルを参照するため集計されます)であり、List0はユーザーがサプライヤーのリスト。

+0

あなたは既にBY句あなたのグループで並べ替え式を持っている:(12 +ヶ月* '(イヤー([日付スタンプ])[ DateStamp]) - 1) '。これを**最初の** GROUP BY式(単に2つの式を交換する)にすると、正しくソートされます。おもう。 – Andre

+0

@Andre、私はこれを試して、それは私に写真のように同じグラフを与えます。 –

答えて

2

order byを明示的に指定しない限り、クエリの結果の順序に決して頼るべきではありません。あなたの場合、結果はアルファベット順に列に並べられます(group byのため)。

あなたは追加することによってこの問題を解決することができます

order by max([DateStamp]) 

をクエリに。

+0

問題を修正しました。説明ありがとう。 –

+0

渡される「日付」が実際には文字列( 'Format([DateStamp]、" mmm "" '"yy") ')なので、Accessがこれを認識していないのはなぜですか? 'DateStamp'が直接チャートに渡され、チャートが' mmm 'yy'としてx軸の日付をフォーマットした場合、それはもはや必要ではありませんか? – Brad

2

私は、あなたのクエリに次を追加し、あなたのGROUP BY句の後:

ORDER BY [datestamp] ASC; 
関連する問題