Foxtable(狐表)用户栏目专家坐堂 → 求助,金额,计算如何 写好一些?


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

主题:求助,金额,计算如何 写好一些?

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
求助,金额,计算如何 写好一些?  发帖心情 Post By:2017/7/31 21:36:00 [显示全部帖子]

我在一个表事件:datacolchanged 写如下代码。放了msgbox 1.2.3  在我新增一行时。这个 弹窗,会弹:12次?我写的代码方式是正确的吗?有什么问题?

S elect Case e.DataCol.Name
    Case "分包预付款","分包进度款","分包洽商款","分包结算款"
        e.DataRow("分包付款合计")=e.DataRow("分包预付款")+e.DataRow("分包进度款")+e.DataRow("分包洽商款")+e.DataRow("分包结算款")
End S elect
S elect Case e.DataCol.Name
    Case "甲方预付款","甲方进度款","甲方洽商款","甲方结算款","质保金实收"
        e.DataRow("合同实收合计")=e.DataRow("甲方预付款")+e.DataRow("甲方进度款")+e.DataRow("甲方洽商款")+e.DataRow("甲方结算款")+e.DataRow("质保金实收")
End S elect
S elect Case e.DataCol.Name
    Case "销售费用","管理费用","财务费用"
        e.DataRow("公司运营合计")=e.DataRow("销售费用")+e.DataRow("管理费用")+e.DataRow("财务费用")
End S elect
S elect Case e.DataCol.Name
    Case "直接费合计","运营合计","分包付款合计","公司运营合计"
        e.DataRow("总支出")=e.DataRow("直接费合计")+e.DataRow("运营合计")+e.DataRow("分包付款合计")+e.DataRow("公司运营合计")
End Se lect
msgbox(1)
Select Case e.DataCol.Name
    Case "合同实收合计","分红比例1","分红比例2","总支出","实收总利润"
       If e.DataRow.Isnull("合同实收合计") = False AndAlso e.DataRow.Isnull("实收总利润") = False Then
        e.DataRow("实收总利润")=e.DataRow("合同实收合计")-e.DataRow("总支出")
        'If e.DataRow("实收总利润") > 0 Then
            e.DataRow("实收应分红1")=e.DataRow("分红比例1")*e.DataRow("实收总利润")
            e.DataRow("实收应分红2")=e.DataRow("分红比例2")*e.DataRow("实收总利润")
        'Else
            'e.DataRow("实收应分红1")=e.DataRow("实收总利润")/2
            'e.DataRow("实收应分红2")=-e.DataRow("实收总利润")/2
        End If
End S elect
msgbox(2)
S elect Case e.DataCol.Name
    Case "合同预算合计","结算合计","分红比例1","分红比例2","总支出","实收总利润"
        If e.DataRow("结算合计") > 0 Then
            e.DataRow("应收总利润")=e.DataRow("结算合计")-e.DataRow("总支出")
            'If e.DataRow("应收总利润") > 0 Then
                e.DataRow("应分红1")=e.DataRow("分红比例1")*e.DataRow("应收总利润")
                e.DataRow("应分红2")=e.DataRow("分红比例2")*e.DataRow("应收总利润")
            'Else
                'e.DataRow("应分红1")=e.DataRow("应收总利润")/2
                'e.DataRow("应分红2")=-e.DataRow("应收总利润")/2
            'End If
        ElseIf e.DataRow("合同预算合计") > 0 Then
            e.DataRow("应收总利润")=e.DataRow("合同预算合计")-e.DataRow("总支出")
            'If e.DataRow("应收总利润") > 0 Then
                e.DataRow("应分红1")=e.DataRow("分红比例1")*e.DataRow("应收总利润")
                e.DataRow("应分红2")=e.DataRow("分红比例2")*e.DataRow("应收总利润")
            'Else
                'e.DataRow("应分红1")=e.DataRow("应收总利润")/2
                'e.DataRow("应分红2")=-e.DataRow("应收总利润")/2
            'End If
        End If
End S elect
S elect Case e.DataCol.name
    Case "合同结算额","洽商增加结算额","洽商减少结算额","其中甲供材料结算","设计费结算","质保金结算"
        e.DataRow("结算合计")=e.DataRow("合同结算额")+e.DataRow("洽商增加结算额")+e.DataRow("设计费结算")-e.DataRow("其中甲供材料结算")+e.DataRow("质保金结算")-e.DataRow("洽商减少结算额")
End S elect
msgbox(3)
S elect Case e.DataCol.name
    Case "合同实收合计","结算合计","未收质保金","质保金结算","质保金实收","合同未收合计","合同预算合计","质保金预算"
        If e.DataRow("结算合计") > 0 Then
            e.DataRow("未收质保金") =e.DataRow("质保金结算")-e.DataRow("质保金实收")
            e.DataRow("未收工程款") =e.DataRow("结算合计")-e.DataRow("合同实收合计")-e.DataRow("未收质保金")
            e.DataRow("合同未收合计")=e.DataRow("未收质保金")+ e.DataRow("未收工程款")
        ElseIf e.DataRow("合同预算合计") > 0 Then
            e.DataRow("未收质保金") =e.DataRow("质保金预算")-e.DataRow("质保金实收")
            e.DataRow("未收工程款") =e.DataRow("合同预算合计")-e.DataRow("合同实收合计")-e.DataRow("未收质保金")
            e.DataRow("合同未收合计")=e.DataRow("未收质保金")+ e.DataRow("未收工程款")
        Else
            e.DataRow("未收质保金") =0
            e.DataRow("未收工程款") =0
            e.DataRow("合同未收合计")=0
        End If
End S elect
If e.DataCol.Name = "质保金预算" Then
    If e.DataRow("质保金预算") > 99 Then
        e.DataRow("有压质保金") = True
    Else
        e.DataRow("有压质保金") = False
    End If
End If

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2017/7/31 22:02:00 [显示全部帖子]

之前:2017-07-28版,弹错。
所有我才检查它。

刚才我又更新了:2017-07-31版,不弹错了。

打开,新建窗口,1-1.5S左右,不是很快。

 回到顶部