以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  条件语句  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87671)

--  作者:HJG_HB950207
--  发布时间:2016/7/16 16:26:00
--  条件语句
职工一览表有如下列: 职级_任现职级时间(文本:####-##),职级_任职级年限
在Datacolchanged 中计算职级_任现职级年限的代码为:


Select Case e.DataCol.name 
    Case "职级_任现职级时间"
        If e.DataRow.IsNull("职级_任现职级时间") Then
            e.DataRow("职级_任现职级年限") = Nothing
        Else
            Dim tp As TimeSpan = Date.today - CDate(e.DataRow("职级_任现职级时间"))
            e.DataRow("职级_任现职级年限") = Math.Round(tp.TotalDays / 365.2422,2)
        End If
End Select


请教:如何加上条件语句,当职级_任现职级时间的月份输入>12时,提示“月份输入错误”,当<12时按如上代码执行计算?谢谢!


--  作者:Hyphen
--  发布时间:2016/7/16 16:46:00
--  
Select Case e.DataCol.name
    Case "职级_任现职级时间"
        If e.DataRow.IsNull("职级_任现职级时间") Then
            e.DataRow("职级_任现职级年限") = Nothing
        Else
            Dim d() As String = e.DataRow("职级_任现职级时间").Split("-")
            If CInt(d(1)) < 1 OrElse CInt(d(1)) > 12 Then
                magbox("非法日期")
                Return
            End If
            Dim tp As TimeSpan = Date.today - CDate(e.DataRow("职级_任现职级时间"))
            e.DataRow("职级_任现职级年限") = Math.Round(tp.TotalDays / 365.2422,2)
        End If
End Select