| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3010 人关注过本帖
标题:[求助]如何从文本框中输入出生日期及自动求出当前年龄(岁数)?
取消只看楼主 加入收藏
qwaszwc
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-9-29
收藏
 问题点数:0 回复次数:6 
[求助]如何从文本框中输入出生日期及自动求出当前年龄(岁数)?

1,在text1中输入职工出生日期,格式为"年年年年-月月-日日",中间的短横自动生成.
2.在text2中自动显示出年龄,即多大岁数.
自己研究了一下午也弄出来,请提供帮助.不盛感激

搜索更多相关主题的帖子: 岁数 文本 年龄 自动 
2007-10-19 22:57
qwaszwc
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-9-29
收藏
得分:0 
谢谢楼上两位,我试试.

2007-10-20 16:35
qwaszwc
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-9-29
收藏
得分:0 
以下是引用缘吇弹在2007-10-20 0:56:47的发言:
On Error GoTo st
If Len(Text1) = 8 And Mid(Text1, 5, 1) <> "-" And Mid(Text1, 8, 1) <> "-" Then
Text1 = Left(Text1, 4) + "-" + Mid(Text1, 5, 2) + "-" + Right(Text1, 2)
Text2.Text = Format(CDate(Format(Now, "YYYY-MM-DD")) - CDate(Text1.Text), "YYYY") - 1900
ElseIf Not (Len(Text1) = 10 And Mid(Text1, 5, 1) = "-" And Mid(Text1, 8, 1) = "-") Then
st: MsgBox ("职工出生日期输入有误,请检查更正!")
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1)
Else
Text1 = Format(CDate(Text1.Text))
Text2.Text = Format(CDate(Format(Now, "YYYY-MM-DD")) - CDate(Text1.Text), "YYYY") - 1900
End If

三楼版主太厉害了,一时看不明白,回去慢慢研究.
这段代码是在
private sub text1_change()

end sub
过程中吗?
另:CDate()函数没见过,不知什么意思?


2007-10-20 16:45
qwaszwc
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-9-29
收藏
得分:0 
以下是引用缘吇弹在2007-10-20 16:53:57的发言:

最好放在按钮单击过程中,因为你放在private sub text1_change()中,每有变化就激发事件,比较麻烦.
CDate()没看过? 那CInt看过没?

关键是text1文本框的输入过程,我在其他应用程序中见过很多,都是直接输入如:"19780512",显示"1978-05-12",不可能再按其他按钮的.
我的教材上只有Date()函数"返回系统当前日期",Int()函数"正数取整",不知前面加上"C"什么意思?


2007-10-21 12:55
qwaszwc
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-9-29
收藏
得分:0 
放在private sub text1_change()里确实麻烦.
最好是放在text1_lostFocus()里,上述代码极具建设性.确实可行,但不太直观.不知有没有占位符之类的东西可以解决?

2007-10-23 07:19
qwaszwc
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-9-29
收藏
得分:0 
效果差不多,看来也只能这样了.

2007-10-23 18:35
qwaszwc
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2007-9-29
收藏
得分:0 
Private Sub Text1_Change()
If Len(Text1.Text) = 4 Then
Text1.Text = Text1.Text & "-"
Text1.SelStart = Len(Text1.Text)
End If
If Len(Text1.Text) = 7 Then
Text1.Text = Text1.Text & "-"
Text1.SelStart = Len(Text1.Text)
End If
End Sub
放上这段代码就完美了.

2007-10-23 18:51
快速回复:[求助]如何从文本框中输入出生日期及自动求出当前年龄(岁数)?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045689 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved