我在文本框中对日期和时间进行了两次验证:
00/00\ 00:00;0;0;_
需要(dd / mm hh:mm)并且工作正常
但有时我会把
34/34 56:78它会采取,但它不应该
日期不超过31,第12个月24和第59分钟
请帮忙
答案 0 :(得分:1)
我刚刚在信用卡到期日期字段中遇到此问题。我愚蠢地将00/0000作为输入掩码更改为00/00,并遇到了您遇到的问题。问题是如果第二对数字是有效日期,它将被解释为日期,并且将默认提供当前年份。因此,如果您输入:
06/09
2009年6月,它将存储为:
06/09/2009
另一方面,如果您输入:
06/34
它将被解释为
06/01/1934
据我所知,你做你想做的事的唯一方法是使用4位数的年份。
答案 1 :(得分:0)
使用IsDate()
Public Function ValidateDate(input As String) As Boolean
ValidateDate = IsDate(input)
End Function
返回一个布尔值,如果输入是有效的日期字符串,则返回True;否则返回False。最大值为
日:31
月:12
小时:23
Min:59
秒:59
答案 2 :(得分:0)
Access中的输入掩码不能限制为值范围,例如RegExp。唯一的方法是使用一些验证(如果你愿意,可以在按键上完成)。
答案 3 :(得分:0)
以不同方式解决问题。为用户提供可供选择的日历。你可以使用Allen Browne的Popup Calendar
之类的东西禁用并锁定文本字段,您可以保证格式正确。