以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  出生日期问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89850)

--  作者:良才
--  发布时间:2016/8/31 10:16:00
--  出生日期问题

学生信息表,有出生日期列, 在8月31日以后出生小于6周岁提示“你孩子不到入学年龄!”请指点,谢谢!

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160831100627.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2016/8/31 10:33:00
--  
DataColChanged事件

Select Case e.DataCol.Name
    Case "出生日期"
        If e.NewValue IsNot Nothing Then
            Dim d As Date = e.NewValue
            If d.AddYears(6) > new Date(Date.Today.Year,8,31) Then
                msgbox("你孩子不到入学年龄!")
            End If
        End If
End Select

--  作者:良才
--  发布时间:2016/8/31 12:00:00
--  
谢谢
--  作者:良才
--  发布时间:2016/8/31 19:05:00
--  

还想请教一个问题,周岁截止8月31号

比如:身份证号是 33068320100810203235,他的出身日期是2010-08-10,电脑时间是2016-08-31, 到今年8月31日满6周岁,年龄列是6 。

假如:身份证号是 33068320100901203235,他的出身日期是2010-09-01,到今年8月31日满5周岁,电脑时间是2016-09-20(实际已经满6周岁,因截止日期是8月31日), 任然是5周岁,年龄列是5。

请指点代码错在哪?谢谢!

Select Case e.DataCol.Name
    Case "身份证号"
        If e.DataRow.IsNull("身份证号") Then  \'身份证号码是否为空
            e.DataRow("出生日期") = Nothing  \'如果为空,则清除出生日期
            e.DataRow("性别") = Nothing  \'如果为空,则清除出生日期
            e.DataRow("年龄") = Nothing \'如果为空,则清除年龄
        Else
            \'否则从身份证号码列中提取出生日期
            e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
            e.DataRow("性别") = ReadSex(e.DataRow("身份证号"))
            Dim y,m,d As Integer
            m=08
            d=31
            DateYMD(ReadBirthday(e.DataRow("身份证号")),Date.Today,y,m,d)
            e.DataRow("年龄") = y
        End If
End Select

[此贴子已经被作者于2016/8/31 19:10:06编辑过]

--  作者:有点蓝
--  发布时间:2016/9/1 8:51:00
--  
......
Else
    \'否则从身份证号码列中提取出生日期
    e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
    e.DataRow("性别") = ReadSex(e.DataRow("身份证号"))
    Dim y,m,d As Integer
    Dim d2 As Date = new Date(2016,8,31)
    DateYMD(e.DataRow("出生日期"),d2,y,m,d)
    e.DataRow("年龄") = y
    
End If

--  作者:良才
--  发布时间:2016/9/1 12:28:00
--  

谢谢

[此贴子已经被作者于2016/9/1 12:48:12编辑过]