以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45170)

--  作者:wangshuxin601
--  发布时间:2014/1/17 12:21:00
--  [求助]
为什么这个计算年龄的代码复制到其他表不能用了

Select Case e.DataCol.name

    Case "出生时间"

        If e.DataRow.IsNull("出生时间") Then

            e.DataRow("年龄") = Nothing

        Else

            Dim v As String = e.DataRow("出生时间")

            Dim dt  As New Date(v.substring(0,4),v.substring(4,2),1)

            Dim y,m,d As Integer

            DateYMD(dt,Date.Today,y,m,d)

            e.DataRow("年龄") = y

        End If

End Select
此主题相关图片如下:qq截图20140117122137.jpg
按此在新窗口浏览图片

[此贴子已经被作者于2014-1-17 12:24:15编辑过]

--  作者:wangshuxin601
--  发布时间:2014/1/17 12:24:00
--  
看了帮助似懂非懂
--  作者:Bin
--  发布时间:2014/1/17 14:29:00
--  
你把代码放到什么地方去了?
--  作者:wangshuxin601
--  发布时间:2014/1/17 14:36:00
--  
放到命令窗口了


--  作者:Bin
--  发布时间:2014/1/17 14:41:00
--  
这个放到命令窗口是无法运作的.  E参数只有在事件中才有. 其中的原因三言两语说不清.

建议你还是先按部就班看帮助先.

--  作者:wangshuxin601
--  发布时间:2014/1/17 14:53:00
--  
经过你的提醒我想起来怎么弄了


--  作者:wangshuxin601
--  发布时间:2014/1/17 15:29:00
--  
我自己又编了一段,有a,b,c三列,c列等于系统时间减去a或者b,a为空时则自动减去b列.我编完了没有形成选择,帮忙改一下吧
Select Case e.DataCol.name
    Case "a"
        If e.DataRow.IsNull("a") Then
            e.DataRow("c") = Nothing
        Else
            Dim v As String = e.DataRow("a")
            Dim dt  As New Date(v.substring(0,4),1,1)
            Dim y,m,d As Integer
            DateYMD(dt,Date.Today,y,m,d)
            e.DataRow("c") = y
        End If
    Case "b"
        If e.DataRow.IsNull("b") Then
            e.DataRow("c) = Nothing
        Else
            Dim v As String = e.DataRow("b")
            Dim dt  As New Date(v.substring(0,4),1,1)
            Dim y,m,d As Integer
            DateYMD(dt,Date.Today,y,m,d)
            e.DataRow("c") = y
        End If
End Select

--  作者:Bin
--  发布时间:2014/1/17 15:32:00
--  
Select Case e.DataCol.name
    Case "a","b"
        If e.DataRow.IsNull("a") Then
            Dim v As String = e.DataRow("b")
            Dim dt  As New Date(v.substring(0,4),1,1)
            Dim y,m,d As Integer
            DateYMD(dt,Date.Today,y,m,d)
            e.DataRow("c") = y
        Else
            Dim v As String = e.DataRow("a")
            Dim dt  As New Date(v.substring(0,4),1,1)
            Dim y,m,d As Integer
            DateYMD(dt,Date.Today,y,m,d)
            e.DataRow("c") = y
        End If
End Select

--  作者:wangshuxin601
--  发布时间:2014/1/17 15:42:00
--  
Exception has been thrown by the target of an invocation.
出现一个这样的提示

--  作者:Bin
--  发布时间:2014/1/17 15:43:00
--  
上例子