将 Microsoft Access 组合框中的默认值设置为当前月份

Posted

技术标签:

【中文标题】将 Microsoft Access 组合框中的默认值设置为当前月份【英文标题】:Set default value in a Microsoft Access combo box to current month 【发布时间】:2022-01-07 17:44:36 【问题描述】:

我的 MS Access 2016 数据库记录中有一个“月份”列,其月份值应使用具有以下内容的组合框输入“一月”或“二月”;

行源类型:Value List

行来源:"January";"February";"March";"April";"May";"June";"July";"August";"September";"October";"November";"December"

默认值:Month(Date())

但是,为了简化工作,大多数月份将在实际当前月份中输入,如果它是旧条目,也可以使用组合框选择进行更改,组合框工作正常,不幸的是, '''Month(Date())''' 不起作用,但仅使用整个字符串“Month(Date())”作为条目填充字段。

为了让这个组合框自动返回当前月份,我应该在我的默认值中添加什么,例如“一月”或“二月”。

【问题讨论】:

您永远不应该将一个月存储为本地化文字。使用月份索引,从 1 到 12,它也是可排序的。此外,请考虑对此类任务使用 callback 函数。我项目中的示例:VBA.Callback. 非常感谢@Gustav,我在研究时发现的大多数解决方案中注意到了您的观点。我很想看到一个应用月份索引的实际示例。如果您能给我这个替代方案,我将不胜感激。 【参考方案1】:

使用以下表达式来默认值属性-

=Format(Date(),"mmmm")

【讨论】:

【参考方案2】:

如果您想在 默认值 属性中使用表达式,请在表达式前面加上等号,如下所示:

=Month(Date())

这将为您提供当前日期的月份数。但是,听起来您实际上想要的是月份名称。在这种情况下,将月份编号提供给 MonthName() 函数:

=MonthName(Month(Date()))

【讨论】:

以上是关于将 Microsoft Access 组合框中的默认值设置为当前月份的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Access - 子窗体中的组合框基于主窗体组合框

整个表搜索表单 - Microsoft Access 2010

在 MS Access 组合框中,如何将表单值用作 where 类

使用 Microsoft Access 中的两个表单将参数从一个组合框传递到另一个组合框

每次使用 access vba 在第一个组合中选择值时,清除链接组合框中的值

如何将 Visual Basic 6 组合框与 Microsoft Access 2007 表中的字段链接