将 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 中的两个表单将参数从一个组合框传递到另一个组合框