Foxtable(狐表)用户栏目专家坐堂 → 重置fa piao类型列差额提示调用目标发生异常,只有手动从错误fa piao类型调整到正确的才能让差额起作用,不能次重置列让所有差额自动计算


  共有1279人关注过本帖树形打印复制链接

主题:重置fa piao类型列差额提示调用目标发生异常,只有手动从错误fa piao类型调整到正确的才能让差额起作用,不能次重置列让所有差额自动计算

帅哥哟,离线,有人找我吗?
A67
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:6 积分:113 威望:0 精华:0 注册:2023/1/5 21:02:00
重置fa piao类型列差额提示调用目标发生异常,只有手动从错误fa piao类型调整到正确的才能让差额起作用,不能次重置列让所有差额自动计算  发帖心情 Post By:2023/7/31 17:07:00 [只看该作者]

If e.DataCol.Name = "fa piao类型" Then
    Dim Total As Double
    Dim Haoma As String = e.DataRow("fa piao号码")
    Select Case e.DataRow("fa piao类型")
        Case "总包对建设"
            Total = DataTables("订单往来").Compute("Sum(建设到总包开piao金额)","建设到总包fa piao号码 = '" & Haoma & " '")
            e.DataRow("差额") = e.DataRow("fa piao金额") - Total
        Case "国信对总包"
            Total = DataTables("订单往来").Compute("Sum(总包到分包开piao金额)","总包到分包fa piao号码 = '" & Haoma & " '")
            e.DataRow("差额") = e.DataRow("fa piao金额") - Total
        Case "下游对国信(同步)"
            Total = DataTables("订单往来").Compute("Sum(国信到下游fa piao金额)","国信到下游fa piao号码 = '" & Haoma & " '")
            e.DataRow("差额") = e.DataRow("fa piao金额") - Total
        Case "下游对国信(非同步)"
            Total = DataTables("付款明细_非同步").Compute("Sum(fa piao金额)","fa piao号码 = '" & Haoma & " '")
            e.DataRow("差额") = e.DataRow("fa piao金额") - Total
        Case Else
            e.DataRow("差额") = Nothing
    End Select
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/31 17:11:00 [只看该作者]

看出错提示应该是这个事件其它代码的问题,不是1楼代码的问题。

 回到顶部
帅哥哟,离线,有人找我吗?
A67
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:6 积分:113 威望:0 精华:0 注册:2023/1/5 21:02:00
蓝版帮忙再看看,这个是所有代码那个事件下,过去好着突然不行了  发帖心情 Post By:2023/7/31 17:52:00 [只看该作者]

Dim bianhao As String = e.DataRow("外经证编号")
If bianhao <> Nothing Then
    Dim dr As DataRow = DataTables("外经证").Find("外经证编号 = '" & bianhao & "'")
    e.DataRow("fa piao类型") = dr("外经证类型")
    e.DataRow("购买方") = dr("购买方")
    e.DataRow("销售方") = dr("销售方")
    e.DataRow("税率") = dr("税率")
End If

If e.DataCol.Name = "fa piao类型" Then
    Dim Total As Double
    Dim Haoma As String = e.DataRow("fa piao号码")
    Select Case e.DataRow("fa piao类型")
        Case "总包对建设"
            Total = DataTables("订单往来").Compute("Sum(建设到总包开piao金额)","建设到总包fa piao号码 = '" & Haoma & " '")
            e.DataRow("差额") = e.DataRow("fa piao金额") - Total
        Case "国信对总包"
            Total = DataTables("订单往来").Compute("Sum(总包到分包开piao金额)","总包到分包fa piao号码 = '" & Haoma & " '")
            e.DataRow("差额") = e.DataRow("fa piao金额") - Total
        Case "下游对国信(同步)"
            Total = DataTables("订单往来").Compute("Sum(国信到下游fa piao金额)","国信到下游fa piao号码 = '" & Haoma & " '")
            e.DataRow("差额") = e.DataRow("fa piao金额") - Total
        Case "下游对国信(非同步)"
            Total = DataTables("付款明细_非同步").Compute("Sum(fa piao金额)","fa piao号码 = '" & Haoma & " '")
            e.DataRow("差额") = e.DataRow("fa piao金额") - Total
        Case Else
            e.DataRow("差额") = Nothing
    End Select
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/31 19:51:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/2044.htm

另外第一段代码效率有问题,甚至可能导致死循环:http://www.foxtable.com/webhelp/topics/1522.htm
[此贴子已经被作者于2023/7/31 19:52:26编辑过]

 回到顶部