以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  汇总数据分摊  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=185533)

--  作者:nuoyan89
--  发布时间:2023/2/28 15:48:00
--  汇总数据分摊
老师,如图2,我想把费用明细为:其他管理费用的先全部汇总,再除以本月工时,但改后提示了如图1的错误,对应代码如下:请帮忙看看,谢谢
Dim cmd9 As New SQLCommand
cmd9.C
cmd9.CommandText = "UP DATE  a9 Set a9.管理费用_其他管理费 = b9.费用明细 / b9.本月工时 * a9.加工时间   From (Sel ect 月份, Sum(费用明细) As 费用明细  From 生产成本总表 where 项目 = \'管理费用\' group by 月份) as b9 ,工序跟踪表 as a9 Where a9.月份 = b9.月份   and  b9.费用明细 = \'其他管理费\' "
cmd9.ExecuteNonQuery()

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

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看



--  作者:有点蓝
--  发布时间:2023/2/28 15:55:00
--  
提示的意思是,这个是字符列,无法进行求和运算。数值列才可以
--  作者:nuoyan89
--  发布时间:2023/2/28 16:15:00
--  
老师,标注红色的代码帮忙看看,红色部分本来是b9.本月工时,我想用这种代码替代,因为用代码二里的代码提示如图1的异常,谢谢!
Dim cmd9 As New SQLC ommand
cmd9.C
cmd9.CommandText = "UPDA TE  a9 Se t a9.管理费用_其他管理费 = b9.金额 / DataTables("工序跟踪表").sqlCompute("sum(加工时间)", " 月份 = \'" & e.DataRow("月份") & "\'")  * a9.加工时间   From (Sel ect 月份, Sum(金额) As 金额  From 生产成本总表 where 项目 = \'管理费用\'  and  费用明细 = \'其他管理费\' group by 月份) as b9 ,工序跟踪表 as a9 Where a9.月份 = b9.月份"
cmd9.ExecuteNonQuery()

代码二:
Dim cmd9 As New SQLComm and
cmd9.C
cmd9.CommandText = "UPDATE  a9 Se t a9.管理费用_其他管理费 = b9.金额 / b9.本月工时 * a9.加工时间   From (Sel ect 月份, Sum(金额) As 金额  From 生产成本总表 where 项目 = \'管理费用\'  and 费用明细 = \'其他管理费\' group by 月份) as b9 ,工序跟踪表 as a9 Where a9.月份 = b9.月份"
cmd9.ExecuteNonQuery()

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2023/2/28 16:18:56编辑过]

--  作者:有点蓝
--  发布时间:2023/2/28 16:27:00
--  
本月工时是哪个表的?
--  作者:nuoyan89
--  发布时间:2023/2/28 16:29:00
--  
b9.本月工时是生产成本总表的,但是这个本月工时不能按照汇总的处理,是根据三楼红色代码统计来滴
[此贴子已经被作者于2023/2/28 16:29:54编辑过]

--  作者:有点蓝
--  发布时间:2023/2/28 16:30:00
--  
cmd9.CommandText = "UPDATE  a9 Se t a9.管理费用_其他管理费 = b9.金额 / b9.本月工时 * a9.加工时间   From (Sel ect 月份, Sum(金额) As 金额,sum(本月工时) as 本月工时  From 生产成本总表 where 项目 = \'管理费用\'  and 费用明细 = \'其他管理费\' group by 月份) as b9 ,工序跟踪表 as a9 Where a9.月份 = b9.月份"
--  作者:nuoyan89
--  发布时间:2023/2/28 16:32:00
--  
老师,这个本月工时不能汇总,是根据三楼红色代码统计来滴
cmd9.CommandText = "UPDATE  a9 Se t a9.管理费用_其他管理费 = b9.金额 / b9.本月工时 * a9.加工时间   From (Sel ect 月份, Sum(金额) As 金额,sum(本月工时) as 本月工时  From 生产成本总表 where 项目 = \'管理费用\'  and 费用明细 = \'其他管理费\' group by 月份) as b9 ,工序跟踪表 as a9 Where a9.月份 = b9.月份"

--  作者:有点蓝
--  发布时间:2023/2/28 16:50:00
--  
cmd9.CommandText = "UPDATE  a9 Se t a9.管理费用_其他管理费 = b9.金额 / c.本月工时 * a9.加工时间   From (Sel ect 月份, Sum(金额) As 金额 From 生产成本总表 where 项目 = \'管理费用\'  and 费用明细 = \'其他管理费\' group by 月份) as b9 ,工序跟踪表 as a9,(Select 月份, sum(本月工时) as 本月工时  From 工序跟踪表 group by 月份) as c Where a9.月份 = b9.月份 and a9.月份=c.月份"
[此贴子已经被作者于2023/2/28 17:14:29编辑过]

--  作者:nuoyan89
--  发布时间:2023/3/1 11:22:00
--  
老师,请帮忙看看,提示如图2异常,谢谢

Dim cmd As New SQLC ommand
cmd.C
cmd.CommandText = "UPDATE  a s et  a.制造费用_油料费 = b.费用 / c.加工时间  * a.加工时间  from 工序跟踪表 as a ,油料成本明细 as b where a.月份 = b.月份 and a.使用设备 = b.使用设备 and b.使用类型 = \'按设备算\',(S elect 月份, sum(加工时间) as 加工时间  From 工序跟踪表 group by 月份 ) as c Where a.月份 = b.月份 and a.月份 = c.月份"
cmd.ExecuteNonQuery()


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2023/3/1 11:47:00
--  
cmd.CommandText = "UPDATE  a s et  a.制造费用_油料费 = b.费用 / c.加工时间  * a.加工时间  from 工序跟踪表 as a ,油料成本明细 as b ,(S elect 月份, sum(加工时间) as 加工时间  From 工序跟踪表 group by 月份 ) as c Where a.月份 = b.月份 and a.月份 = c.月份 and a.使用设备 = b.使用设备 and b.使用类型 = \'按设备算\'"