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 字段的数据类型设置为日期/时间。我已经阅读了其他堆栈溢出线程,这些线程建议附加到表单“覆盖”查询语句的 VBA 代码。所以,我的问题变成了 - 插入适当的 vba 代码的最佳位置在哪里,以及从 1 月到 12 月对月份名称进行排序/排序的正确代码是什么?

4

1 回答 1

0

我找到了一种我测试过的解决方案,它似乎在我的数据库中运行良好。我在查询中创建了一个新字段 - 'Format([DateOfEnquiry], "mm")' - 并使用此字段进行排序。

于 2014-11-22T10:14:56.770 回答