以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]删除指定“预留风险金”行同时执行相应代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157375)

--  作者:twef
--  发布时间:2020/10/14 9:28:00
--  [求助]删除指定“预留风险金”行同时执行相应代码
窗口表Tables("工程资金审批单_Table1")中删除指定“预留风险金”这一行,重新计算forms("工程资金审批单").controls("Label10").text = IIF(forms("工程资金审批单").controls("Label4").text = "",0,forms("工程资金审批单").controls("Label4").text) - IIF(forms("工程资金审批单").controls("Label7").text = "",0,forms("工程资金审批单").controls("Label7").text)
我把代码放在窗口表DataRowDeleted中不执行

--  作者:twef
--  发布时间:2020/10/14 9:30:00
--  
有“预留风险金这一行”执行forms("工程资金审批单").controls("Label10").text = IIF(forms("工程资金审批单").controls("Label4").text = "",0,forms("工程资金审批单").controls("Label4").text) - IIF(forms("工程资金审批单").controls("Label7").text = "",0,forms("工程资金审批单").controls("Label7").text) + r("扣款金额")
--  作者:有点蓝
--  发布时间:2020/10/14 9:48:00
--  
放到全局表事件:http://www.foxtable.com/webhelp/topics/0671.htm
--  作者:twef
--  发布时间:2020/10/14 10:27:00
--  
有点蓝老师,放在全局表事件好像不起作用
--  作者:有点蓝
--  发布时间:2020/10/14 10:30:00
--  
没有启用对应的事件,在表格加载数据后,添加启用事件的代码
--  作者:twef
--  发布时间:2020/10/14 10:55:00
--  
有点蓝老师,我的窗口Tables("工程资金审批单_Table1")是没有绑定表的,添加启用事件的代码这样好像也不行
--  作者:有点蓝
--  发布时间:2020/10/14 11:03:00
--  
把窗口表类型改为sqltable,到窗口表事件处理
--  作者:twef
--  发布时间:2020/10/14 11:07:00
--  
我的代码如下:
With Tables("工程资金审批单_Table1")
    Dim k As Double = DataTables("扣款登记表").Compute("Sum(扣款金额)","项目编号 = \'" & forms("工程资金审批单").controls("Label2").text & "\'And 扣款类型 =  \'预留风险金\' " )
    \'MessageBox.Show(k)
    Dim r3 As Integer
    r3 = .FindRow("[扣款内容] = \'预留风险金\'") \'从第一行开始查找
    If r3 >= 0 Then \'如果找到的话
    Else
        If forms("工程资金审批单").controls("TextBox3").text = "" Then
            \'If forms("工程资金审批单").controls("Label4").text = "" Then
                \'If forms("工程资金审批单").controls("Label7").text = "" Then
                    \'forms("工程资金审批单").controls("Label10").text = - k
                \'Else
                    \'forms("工程资金审批单").controls("Label10").text = forms("工程资金审批单").controls("Label7").text - k
                    
                \'End If
            \'Else
                forms("工程资金审批单").controls("Label10").text = IIF(forms("工程资金审批单").controls("Label4").text = "",0,forms("工程资金审批单").controls("Label4").text) - IIF(forms("工程资金审批单").controls("Label7").text = "",0,forms("工程资金审批单").controls("Label7").text) - k
            \'End If
        Else
            forms("工程资金审批单").controls("Label10").text = IIF(forms("工程资金审批单").controls("Label4").text = "",0,forms("工程资金审批单").controls("Label4").text) - IIF(forms("工程资金审批单").controls("Label7").text = "",0,forms("工程资金审批单").controls("Label7").text) - IIF(forms("工程资金审批单").controls("TextBox3").text = "",0,forms("工程资金审批单").controls("TextBox3").text ) - k
        End If
        Functions.Execute("设置剩余金额颜色")
    End If
End With
就是不知道放在窗口表事件哪个位置会起作用

--  作者:twef
--  发布时间:2020/10/14 11:10:00
--  
还有请教有点蓝老师
forms("工程资金审批单").controls("Label10").text = IIF(forms("工程资金审批单").controls("Label4").text = "",0,forms("工程资金审批单").controls("Label4").text) - IIF(forms("工程资金审批单").controls("Label7").text = "",0,forms("工程资金审批单").controls("Label7").text) - k
上面这个代码IFF可以用IsNull代替写吗?

--  作者:有点蓝
--  发布时间:2020/10/14 11:12:00
--  
回8楼,放到窗口按钮里
回9楼,不能