以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  将对应期的委托付款返回给立项表中的相关列中。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109045)

--  作者:地瓜
--  发布时间:2017/11/3 10:16:00
--  将对应期的委托付款返回给立项表中的相关列中。
在“立项表”中进行某期的委托付款后,来到“委托付款”表中,输入委托金额后,能把当前的委托金额返回到“立项表”中对应期数的委托金额列中,同时总期数也可自动统计。

图片点击可在新窗口打开查看此主题相关图片如下:委托付款问题.jpg
图片点击可在新窗口打开查看
项目文件:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:综合办公管理平台.rar

谢谢!


--  作者:有点蓝
--  发布时间:2017/11/3 11:15:00
--  
委托付款表datacolchanged事件

Select Case e.DataCol.Name
    Case "cgysID"
        Dim max As Integer = e.DataTable.Compute("msx(dqqs)","cgysID=\'" & e.NewValue & "\' and _Identify <>" & e.DataRow("_Identify"))
        e.DataRow("dqqs") = max + 1
End Select

委托付款表DataRowAdded事件事件
Dim cnt As Integer = Tables("tblwtfk").Rows.Count
For Each r As Row In Tables("tblwtfk").Rows
    r("zqs") = cnt
Next

--  作者:地瓜
--  发布时间:2017/11/3 11:19:00
--  
但是总期数是当前采购预算编号的记录的所有的行加起来的。
--  作者:有点甜
--  发布时间:2017/11/3 12:14:00
--  
Select Case e.DataCol.Name
    Case "cgysID"
        Dim max As Integer = e.DataTable.Compute("max(dqqs)","cgysID=\'" & e.NewValue & "\' and _Identify <>" & e.DataRow("_Identify"))
        e.DataRow("dqqs") = max + 1
        e.DataRow("zqs") = e.DataTable.Compute("count(dqqs)","cgysID=\'" & e.NewValue & "\'")
End Select

--  作者:地瓜
--  发布时间:2017/11/3 12:57:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:期数.jpg
图片点击可在新窗口打开查看是想实现这样的效果,谢谢!

--  作者:有点甜
--  发布时间:2017/11/3 14:32:00
--  

Select Case e.DataCol.Name
    Case "cgysID"
        Dim drs = e.DataTable.Select("cgysID=\'" & e.NewValue & "\'")
        Dim i As Integer = 1
        For Each dr As DataRow In drs
            dr("dqqs") = i
            dr("zqs") = drs.count
            i+=1
        Next
End Select


--  作者:地瓜
--  发布时间:2017/11/3 15:23:00
--  
谢谢!还有一个问题需要麻烦一下,就是在“委托付款”表中能将第几期的金额返回到“立项表”中的委托情况的对应第几期的金额,比如:委托付款表中的当前期数是1,那么将该金额返回给立项表中的委托情况的第一期的金额列中,我捣鼓了好久也没有实现,谢谢!
--  作者:有点蓝
--  发布时间:2017/11/3 16:45:00
--  
Select Case e.DataCol.Name
    Case "cgysID"
        Dim drs = e.DataTable.Select("cgysID=\'" & e.NewValue & "\'")
        Dim i As Integer = 1
        For Each dr As DataRow In drs
            dr("dqqs") = i
            dr("zqs") = drs.count
            i+=1
        Next
    Case "dqqs"
        Dim dr As DataRow = DataTables("立项表").Find("采购单位=\'" & e.datarow("采购单位") & "\'")
        If dr IsNot Nothing Then
            dr("第一期金额") = e.datarow("金额")
        End If
End Select

--  作者:地瓜
--  发布时间:2017/11/3 17:09:00
--  
那如果是第二期或是第三期的金额该如何调用返回到立项表中呢?谢谢!
--  作者:有点甜
--  发布时间:2017/11/3 17:10:00
--  
Select Case e.DataCol.Name
    Case "cgysID"
        Dim drs = e.DataTable.Select("cgysID=\'" & e.NewValue & "\'")
        Dim i As Integer = 1
        For Each dr As DataRow In drs
            dr("dqqs") = i
            dr("zqs") = drs.count
            i+=1
        Next
    Case "dqqs", "采购单位", "金额"
        Dim dr As DataRow = DataTables("立项表").Find("采购单位=\'" & e.datarow("采购单位") & "\'")
        If dr IsNot Nothing Then
            If e.datarow("dqqs") = 1 Then
                dr("第一期金额") = e.datarow("金额")
            ElseIf e.datarow("dqqs") = 2 Then
                dr("第二期金额") = e.datarow("金额")
            End If
        End If
End Select