以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何计算日期差和满足领用条件  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=12723)

--  作者:zhujiangtian1
--  发布时间:2011/9/12 16:53:00
--  如何计算日期差和满足领用条件
如何计算最后领用日期与当前日期相差的月份,如果大于期限列的要求则显示逻辑列显示可以领用?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:演示.table


--  作者:狐狸爸爸
--  发布时间:2011/9/12 17:05:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:演示.table


--  作者:zhujiangtian1
--  发布时间:2011/9/12 17:23:00
--  
非常感谢!中秋节快乐1
--  作者:zhujiangtian1
--  发布时间:2011/9/12 17:59:00
--  
请问如何打开数据表时就自动进行计算。以上只是实现了数据变化后进行计算?谢谢
--  作者:狐狸爸爸
--  发布时间:2011/9/12 18:05:00
--  
上面的文件,打开后就会自动计算,原因你看看我在项目事件AfterOpenProjct设置的代码
--  作者:zhujiangtian1
--  发布时间:2011/9/12 18:15:00
--  
是空白的
--  作者:zhujiangtian1
--  发布时间:2011/9/12 18:25:00
--  

不好意思,看到了。谢谢


--  作者:zhujiangtian1
--  发布时间:2011/9/13 10:45:00
--  

增加了一个“用品领用”表,将满足条件的列出。就是不知道如何设置在关闭项目时清空“用品领用”表。现在每次打开后会自动增加。麻烦看看,谢谢!

DateColChanged代码如下:

Select Case e.DataCol.name
    Case "最近领用1"
        If e.DataRow.IsNull("最近领用1") Then
            e.DataRow("剩余期限(月)") = Nothing
            e.DataRow("可否领用") = False
        Else
            Dim dt1 As Date = e.DataRow("最近领用1")
            Dim dt2 As Date = Date.now
            e.DataRow("剩余期限(月)") = (dt2.year - dt1.year) * 12 +(dt2.month - dt1.month)
           e.DataRow("可否领用") = (e.DataRow("剩余期限(月)") >= e.DataRow("使用期限"))
If  e.DataRow("可否领用") = True Then
    Dim nma() As String = {"工号","姓名","配置名称","可否领用"}
    Dim nmb() As String = {"工号","姓名","配置名称","可否领用"}
    Dim dr As DataRow = DataTables("用品领用").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If
End If
End Select

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