以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  数据库表 行间计算  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=141053)

--  作者:fubblyc
--  发布时间:2019/9/20 11:42:00
--  数据库表 行间计算
蓝大大,

数据库表的行间计算,用的 updat e  有点懵,不像FT那么简单 ,用 compute 之类的

cmd.commandtext = "updat e 资金日报账户表 set 本日增加 =  where 项目 = \'银行账户小计\' and 类型 = \'公司项目\' and 区分 = \'银行账户\'  "  \'  
cmd.ExecuteNonQuery


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190920113550.png
图片点击可在新窗口打开查看


之前用FT 是这样写的
For Each dr1  In DataTables("账户表").DataRows
    If dr1("项目") = "银行账户小计" And dr1("类型") = "A00" Then
        dr1("上日余额") = DataTables("账户表").Compute("sum(上日余额)", "类型 = \'A00\' and 区分 = \'银行账户\'")
        dr1("本日增加") = DataTables("账户表").Compute("sum(本日增加)", "类型 = \'A00\' and 区分 = \'银行账户\'")
        dr1("本日减少") = DataTables("账户表").Compute("sum(本日减少)", "类型 = \'A00\' and 区分 = \'银行账户\'")
        dr1("本日余额") = DataTables("账户表").Compute("sum(本日余额)", "类型 = \'A00\' and 区分 = \'银行账户\'")
    End If

....其他
next

--  作者:有点蓝
--  发布时间:2019/9/20 12:00:00
--  
"update 资金日报账户表 set 本日增加 = (select sum(本日增加) from 资金日报账户表 where 项目 <> \'银行账户小计\' and 类型 = \'公司项目\' and 区分 = \'银行账户\'  )  where 项目 = \'银行账户小计\' and 类型 = \'公司项目\' and 区分 = \'银行账户\'  "  
--  作者:fubblyc
--  发布时间:2019/9/20 13:53:00
--  
哦哦,原来是这样!!
感恩!!

--  作者:fubblyc
--  发布时间:2019/9/20 14:26:00
--  
老师,这个可以。我忘了说一点:

日期。

就是每天各自加各自的。

现在没有加日期条件,就变成所有日期的这一行都一样了 ~~

怎么加这个 日期的条件呢 。

1号 = 1号的数据
2号 = 2号的数据

--  作者:有点蓝
--  发布时间:2019/9/20 14:42:00
--  
"update 资金日报账户表 set 本日增加 = (select sum(本日增加) from 资金日报账户表 as a where a.项目 <> \'银行账户小计\' and a.类型 = \'公司项目\' and a.区分 = \'银行账户\'  and a.日期 = 日期) from 资金日报账户表 where 项目 = \'银行账户小计\' and 类型 = \'公司项目\' and 区分 = \'银行账户\'  "  
--  作者:fubblyc
--  发布时间:2019/9/20 16:37:00
--  
谢谢蓝老大,已在另一个集合帖子提问!