以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表统计问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185760)

--  作者:13775189031
--  发布时间:2023/3/15 9:36:00
--  跨表统计问题
请教老师:跨表统计 自动更新的问题
例如改变订单表中数据后,两表切换时,统计表可以自动更新数据,但订单表删除行的话,切换到统计表就不能自动更新



--  作者:有点蓝
--  发布时间:2023/3/15 9:41:00
--  
删除行到datarowdeleteing事件处理
--  作者:13775189031
--  发布时间:2023/3/15 9:59:00
--  
代码应该怎么编?有没有参考的


--  作者:有点蓝
--  发布时间:2023/3/15 10:15:00
--  
跨表统计写了什么代码?发上来看看
--  作者:13775189031
--  发布时间:2023/3/15 10:44:00
--  
统计表
If e.DataCol.Name = "送检编号" Then
    Dim Filter As String = "[送检编号] = \'" & e.NewValue & "\'"
    e.DataRow("领用数量合计_Kg") = val(DataTables("焊丝领用明细表").Compute("Sum(领用数量_Kg)", Filter))
    e.DataRow("退回数量合计_Kg") = val(DataTables("焊丝领用明细表").Compute("Sum(退回数量_Kg)", Filter))
    e.DataRow("领用数量合计_根") = val(DataTables("焊丝领用明细表").Compute("Sum(领用数量_根)", Filter))
    e.DataRow("退回数量合计_根") = val(DataTables("焊丝领用明细表").Compute("Sum(退回数量_根)", Filter))
End If

订单表
Select Case e.DataCol.Name
    Case "领用数量_根","领用数量_Kg","退回数量_根","退回数量_Kg"
        Dim pr As DataRow
        pr = DataTables("焊丝库存台账").Find("送检编号 = \'" & e.DataRow("送检编号") & "\'")
        If pr IsNot Nothing Then
            DataTables("焊丝库存台账").DataCols("送检编号").RaiseDataColChanged(pr)
        End If
End Select

--  作者:有点蓝
--  发布时间:2023/3/15 10:54:00
--  
datarowdeleteing事件

e.DataRow("领用数量_Kg") = nothing
e.DataRow("退回数量_Kg") = nothing
……其它数量自己补上
        Dim pr As DataRow
        pr = DataTables("焊丝库存台账").Find("送检编号 = \'" & e.DataRow("送检编号") & "\'")
        If pr IsNot Nothing Then
            DataTables("焊丝库存台账").DataCols("送检编号").RaiseDataColChanged(pr)
        End If