【问题标题】:Set default value in a Microsoft Access combo box to current month将 Microsoft Access 组合框中的默认值设置为当前月份
【发布时间】: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,我在研究时发现的大多数解决方案中注意到了您的观点。我很想看到一个应用月份索引的实际示例。如果您能给我这个替代方案,我将不胜感激。

标签: ms-access combobox default-value ms-access-2016


【解决方案1】:

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

=Format(Date(),"mmmm")

【讨论】:

    【解决方案2】:

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

    =Month(Date())
    

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

    =MonthName(Month(Date()))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-19
      • 2011-10-16
      相关资源
      最近更新 更多