vb 只能输入年月日

在文本框中输入年月也会产生错误对话框应该怎么实施呀二楼的兄弟开玩笑呐我说的是只能往text中输入年月日数据即使是年月都出现错=======================... 在文本框中 输入年月也会产生错误对话框 应该怎么实施呀
二楼的兄弟 开玩笑呐
我说的是只能往text中输入年月日数据 即使是年月都出现错
====================================================
现在的想法
Dim a() As Data
a() = Split("a(0),a(1),a(2)", "/")
a(0)=4个数字
a(1)=2个数字
a(2)=2个数字
就是这后边又设置不明白了
==================================================
用/这个符号隔开 api一点都不明白呀 用简单点的代码呀
展开
 我来答
parksunming
2008-12-19 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:98.6万
展开全部
可以先把文本框中的string取出,然后用date函数转换一下,在把当前系统的时间取出,用同样的年月日格式DATE一下,和文本框取出的内容比较LEN值,只要不一样就可以认定不是合法输入。但是要注意,格式一定要是长日期型的.
补充:如果输入的2008-10-10这样的呢?

dim buff as string
buff = format(text1.text,"yyyy-mm-dd")
if len(buff)<>format(date,"yyyy-mm-dd") then
msbox "你输入的日期型不和规范"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好几碗粥Ry
2008-12-19 · TA获得超过1173个赞
知道大有可为答主
回答量:1118
采纳率:0%
帮助的人:895万
展开全部
朋友,你就直接说你的月日年之间必须用什么符号隔开吧,这样我好帮你写出代码?~~~

补充:按照日期型数据必须输入成用"/"隔开的. 下面的就是我帮你写的代码

在文本框的失去焦点的事件里

Private Sub Text1_LostFocus()
On Error GoTo e
Dim s() As String
s = Split(Text1.Text, "/")
If UBound(s) > 2 Then
MsgBox "输入的日期型数据不合规范,重新给我输入!"
Text1.Text = "": Text1.SetFocus
Exit Sub
End If
If Len(s(0)) < 4 Or Len(s(0)) > 4 Then
MsgBox "输入的日期型数据(年)不合规范,重新给我输入!"
Text1.Text = "": Text1.SetFocus
Exit Sub
End If
If Len(s(1)) < 2 Or Len(s(1)) > 2 _
Or s(1) < "01" Or s(1) > "12" Then
MsgBox "输入的日期型数据(月)不合规范,重新给我输入!"
Text1.Text = "": Text1.SetFocus
Exit Sub
End If
If Len(s(2)) < 2 Or Len(s(2)) > 2 _
Or s(2) < "01" Or s(2) > "31" Then
MsgBox "输入的日期型数据(日)不合规范,重新给我输入!"
Text1.Text = "": Text1.SetFocus
Exit Sub
End If
e: Exit Sub
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wesqb6
2008-12-19 · TA获得超过355个赞
知道小有建树答主
回答量:504
采纳率:0%
帮助的人:362万
展开全部
问题具体点好不好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式