以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于SQLCompute  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123828)

--  作者:81538475
--  发布时间:2018/8/23 23:06:00
--  [求助]关于SQLCompute
现在遇到了一个矛盾的事情。
目的是让父表的 “剩余” 列。= “APC”列 - 所有子表的 “当月人天” 列
如果使用SQLcompute ,如果修改的值没有保存,是不对的。
如果使用compute,会导致有些没有加载的数据没有加入计算。
这里还不能用表达式,因为后面要引用这个计算出来的值

下面是在 datacolchanged 里面的代码
        Dim sum2 As Double
        For Each dr As DataRow In DataTables("xmzb").DataRows
            sum2 = DataTables("XMFP").SQLCompute("Sum(当月人天)","BH =  \'" & dr("BH") & "\' ")
            dr("剩余") = dr("apc") - sum2
            dr("总") = dr("apc") - dr("剩余")
        Next

[此贴子已经被作者于2018/8/23 23:06:50编辑过]

--  作者:有点蓝
--  发布时间:2018/8/23 23:10:00
--  
1、先保存再计算
2、compute计算已经加载的,然后SQLcompute 计算排除掉已经加载的,排除条件可以参考:http://www.foxtable.com/webhelp/scr/2228.htm。这种比较麻烦,控制不好也容易出错。建议还是先保存吧

--  作者:wyz20130512
--  发布时间:2018/8/23 23:13:00
--  
给个截图看看
--  作者:81538475
--  发布时间:2018/8/23 23:40:00
--  
以下是引用有点蓝在2018/8/23 23:10:00的发言:
1、先保存再计算
2、compute计算已经加载的,然后SQLcompute 计算排除掉已经加载的,排除条件可以参考:http://www.foxtable.com/webhelp/scr/2228.htm。这种比较麻烦,控制不好也容易出错。建议还是先保存吧

我看看第二种方法把。不能改一个数字就保存下呀,这样的话,没办法撤销了