以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  表事件代码问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=95544)

--  作者:feixianzhi
--  发布时间:2017/1/23 9:44:00
--  表事件代码问题

 

 

\'按收款日期、收据发票号、经手人、交款单位、交款方式,汇总票据合计金额 

Select Case e.DataCol.Name

    Case "收款日期","收据发票号","经手人","交款单位" ,"交款方式"   

        If e.DataRow.IsNull("收款日期") OrElse e.DataRow.IsNull("收据发票号") OrElse e.DataRow.IsNull("经手人")  OrElse e.DataRow.IsNull("交款单位")  OrElse e.DataRow.IsNull("交款方式") Then

        Else

            Dim filter As String = "收款日期=\'" & e.DataRow("收款日期") & "\' and 收据发票号=\'" & e.DataRow("收据发票号") & "\' and 经手人=\'" & e.DataRow("经手人") & "\'" And 交款单位=\'" & e.DataRow("交款单位") & "\'" and 交款方式=\'" & e.DataRow("交款方式") & "\'"

            Dim vl As Double =  e.DataTable.Compute("sum(合计金额)",filter)

            Dim dr1 As DataRow = e.DataTable.Find(filter,"[_Identify] desc")

            e.DataTable.ReplaceFor("票据合计金额",Nothing,filter)

            If dr1 IsNot Nothing Then

                dr1("票据合计金额") = vl

            End If

        End If

End Select

 

麻烦各位老师,我在表事件中运行上段代码,出现下图提示,不知道怎么回事。

 

 


此主题相关图片如下:qq截图20170123093642.png
按此在新窗口浏览图片


--  作者:wyz20130512
--  发布时间:2017/1/23 9:50:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:002.png
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/1/23 10:47:00
--  

 

 Dim filter As String = "收款日期=\'" & e.DataRow("收款日期") & "\' and 收据发票号=\'" & e.DataRow("收据发票号") & "\' and 经手人=\'" & e.DataRow("经手人") & "\' And 交款单位=\'" & e.DataRow("交款单位") & "\' and 交款方式=\'" & e.DataRow("交款方式") & "\'"

 


--  作者:feixianzhi
--  发布时间:2017/1/23 13:37:00
--  
谢谢有点色老师。

我还有一个问题:在一个表里插入一行,插入的行自动复制上一行的相关列的数据,编码怎么写。请有点色老师帮忙。如有商品编码、商品名称、商品规格列。

--  作者:feixianzhi
--  发布时间:2017/1/23 14:21:00
--  
请有点色老师帮忙呀。
--  作者:有点蓝
--  发布时间:2017/1/23 15:45:00
--  
参考:

With Tables("表A")
    If .Position > 0 Then
        Dim r As Row = .Rows(.Position-1)
        Dim newRow As Row = .InsertNew
        newRow("第一列") = r("第一列")
    End If
End With

--  作者:feixianzhi
--  发布时间:2017/1/23 16:54:00
--  
麻烦有点蓝老师,代码放到哪个事件里呀。
--  作者:有点蓝
--  发布时间:2017/1/23 17:41:00
--  
按钮事件,表事件参考


DataRowAdded事件
Dim idx As Integer = Tables(e.DataTable.Name).FindRow(e.DataRow)
If idx > 0 Then \'如果找到的话
    Dim r As Row = Tables(e.DataTable.Name).Rows(idx-1)
    e.DataRow("商品编码") = r("商品编码")
End If



--  作者:feixianzhi
--  发布时间:2017/1/24 3:21:00
--  
谢谢有点蓝老师。