以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助年龄计算设置公式1  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2149)

--  作者:byzy3260
--  发布时间:2009/3/19 9:08:00
--  求助年龄计算设置公式1

我需要从表中“出生时间”列换算出大家在2007年底的实际年龄,请老师帮助处理一下!谢谢了!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:菜鸟foxtable
--  发布时间:2009/3/19 9:19:00
--  

我在窗口控件里的年龄计算代码.你可以参考一下.

Dim d1 As Date = Date.Today
Dim d2 As Date = e.form.controls("DateTimePicker2").Value
Dim nl As integer = d1.Year-d2.Year
e.form.controls("TextBox3").Value = nl

同理,在表属性的BeforeLockDataRow里加入如下代码:
Dim d1 As Date = "2007-12-31"
Dim d2 As Date = e.dataRow("第二列")
Dim nl As integer = d1.Year-d2.Year
e.dataRow("到2007年底的年龄") = nl


全选执行锁定行.OK.你试试.

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

[此贴子已经被作者于2009-3-19 9:26:02编辑过]

--  作者:smileboy
--  发布时间:2009/3/19 9:29:00
--  
Dim d1 As Date = #12/31/2007#
If e.DataCol.Name = "第二列" Then
    If e.DataRow.IsNull("第二列") Then
        e.DataRow("到2007年底的年龄") = Nothing
    Else
        e.DataRow("到2007年底的年龄") = d1.year-CDate(e.DataRow("第二列")).year
    End If
End If

--  作者:byzy3260
--  发布时间:2009/3/19 10:09:00
--  

谢谢两位帮助,问题解决了!