0

月の名前を適切な年の順序で取得する方法について、利用可能なすべてのアドバイスを読んでいます。それぞれの情報は少し異なることに焦点を当てているようで、私はまだ少し混乱しています - フォームに MonthName vba 関数を適用する必要がありますか? それとも他の何かが機能しますか...?別のスレッドでは、各月の名前に整数値を提供する別のテーブルを作成することさえ提案しています。

MS Access 2010 を使用しており、フォームの月名を適切な年順 (1 月から 12 月) で表示したいと考えています。コードはどのようなもので、どこに配置するのが最適ですか?

フォームのレコード ソースは、次の SQL クエリです。

SELECT Format([DateOfEnquiry],"mmmm") AS [Month], Count(T_Enquiry.DateOfEnquiry)
AS TotalMonthlyEnquiries
FROM T_Enquiry
GROUP BY Format([DateOfEnquiry],"mmmm"), [Enter full name of month]
HAVING ((([Enter full name of month]) Is Null)) OR (((Format([DateOfEnquiry],"mmmm"))=
Enter full name of month]) AND (([Enter full name of month]) Is Not Null));

しかし、このフォームでは、月名が適切な年順ではなく、アルファベット順に表示されます。T_Enquiry テーブルの DateOfEnquiry フィールドのデータ型は Date/Time に設定されています。フォームに添付されたVBAコードがクエリステートメントを「オーバーライド」することを示唆する他のスタックオーバーフロースレッドを読みました。それで、私の質問は次のようになります-適切なvbaコードを挿入するのに最適な場所はどこですか?1月から12月までの月の名前をソート/順序付けするための正しいコードは何ですか?

4

1 に答える 1

0

テストした解決策が 1 つ見つかりましたが、データベースでうまく機能しているようです。クエリ内に新しいフィールド「Format([DateOfEnquiry], "mm")」を作成し、このフィールドを並べ替えに使用しました。

于 2014-11-22T10:14:56.770 に答える