输入日期时如何在输入字符串中允许日期名称?
Posted
技术标签:
【中文标题】输入日期时如何在输入字符串中允许日期名称?【英文标题】:How to allow dayname in input string when inputting a date? 【发布时间】:2014-05-16 13:22:17 【问题描述】:在 Access 的连续表单中,我们希望提供一个组合框,该组合框将显示 7 天,并将日期名称作为下拉列表的一部分。
组合框绑定到日期字段。我们可以轻松地在 Form Load 事件中填充组合框,以 ddd dd/MM/yy
格式显示日期,并且现有日期很高兴地显示在表单上,如下所示:
但是,如果您尝试从下拉列表中进行选择,则会收到错误消息:您输入的值对此字段无效。
涉及未绑定组合框的解决方案将不起作用,因为这是一个连续的形式。
这是一个细节,因为日名不是绝对必要的,而且没有日名的组合也能正常工作。然而,这是一个繁重的数据输入表单,因此针对最终用户进行优化很重要,并且拥有日期名称将对他/她有所帮助。
【问题讨论】:
你考虑过日历表吗?它们不占用太多空间,而且非常有用。 @Remou 我们想强制用户从这 7 天中选择,所以选择列表似乎比日历更适合我 您已将日期转换为字符串,因此存在数据类型不匹配,请考虑两列,一列带有日期(因此是日历建议),另一列带有格式化字符串。 @Remou 两栏就是答案,谢谢 【参考方案1】:我重新创建了这个问题,我想出的解决方案是有一个组合框,其中行源有两列,您使用 ColumnWidths
隐藏第一列,第二列是格式化的日期值。因此,当您在组合框中选择某些内容时,该值是一个未制定的日期值,不会产生任何问题。
像这样填充组合:
Dim i As Integer
For i = 0 To 6
Dim item As Date
item = DateAdd("d", i, weekCommencingDate)
cboTimeDate.AddItem item & ";" & Format(item, "ddd dd/MM/yy")
Next i
【讨论】:
感谢@ashareef,我已经编辑了代码以帮助未来的访问者以上是关于输入日期时如何在输入字符串中允许日期名称?的主要内容,如果未能解决你的问题,请参考以下文章