以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 调用后台统计数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121479) |
|
-- 作者:实话实说 -- 发布时间:2018/7/7 7:45:00 -- 调用后台统计数据 以下是在订单模块中统计产品欠货的代码,需要加载产成品仓的模块-产品明细。我不想加载产品明细的表,如何调用后台统计的数据呢? \'生成产品欠货统计表 Dim dta As New DataTableBuilder("产品欠货统计") dta.AddDef("产品代码", Gettype(String), 32) dta.AddDef("产品", Gettype(String), 32) dta.AddDef("颜色", Gettype(String), 32) dta.AddDef("订单数量", Gettype(Integer)) dta.AddDef("发货数量", Gettype(Integer)) dta.AddDef("欠货数量", Gettype(Integer)) dta.Build() \'填充数据 Dim b As New Filler b.SourceTable = DataTables("销售订单明细") b.SourceCols = "产品代码,产品,颜色" b.DataTable = DataTables("产品欠货统计") b.DataCols = "产品代码,产品,颜色" b.ExcludeExistValue = True b.Fill() b = New Filler b.SourceTable = DataTables("产品明细") b.SourceCols = "产品代码,产品,颜色" b.DataTable = DataTables("产品欠货统计") b.DataCols = "产品代码,产品,颜色" b.ExcludeExistValue = True b.Fill() \'产品欠货统计 For Each dra As DataRow In DataTables("产品欠货统计").DataRows dra("订单数量") = DataTables("销售订单明细").Compute("Sum(订单数量)"," [产品代码] = \'" & dra("产品代码") & "\' and [颜色] = \'" & dra("颜色") & "\'") dra("发货数量") = DataTables("产品明细").Compute("Sum(出仓数量)"," [产品代码] = \'" & dra("产品代码") & "\' and [颜色] = \'" & dra("颜色") & "\'") dra("欠货数量") = dra("订单数量") - dra("发货数量") Next Forms("销售订单统计").Controls("统计表").Table.DataSource = DataTables("产品欠货统计") Forms("销售订单统计").Controls("统计表").Table.AutoSizeCols() \'设置自动列宽 \'删除数值为空的记录 Tables("销售订单统计_统计表").DataTable.DeleteFor("[欠货数量] = 0" ) Tables("销售订单统计_统计表").DataTable.SysStyles("EmptyArea").BackColor = Color.WhiteSmoke \'表空白区的背景设置为灰色 Tables("销售订单统计_统计表").Sort = "产品代码,颜色" Tables("销售订单统计_统计表").Appearance.ShowSortIcon = False Tables("销售订单统计_统计表").Refresh \'自动列宽 Tables("销售订单统计_统计表").AutoSizeCols() |
|
-- 作者:有点蓝 -- 发布时间:2018/7/7 9:07:00 -- 用sql直接用数据库取不就行了 select 产品代码,产品,颜色, 0 as 订单数量,0 as 发货数量, 0 as 欠货数量 from 销售订单明细 union all select 产品代码,产品,颜色, 0 as 订单数量,0 as 发货数量, 0 as 欠货数量 from 产品明细 |
|
-- 作者:实话实说 -- 发布时间:2018/7/7 9:32:00 -- 能不能帮我用到上面的代码中去呢? |
|
-- 作者:有点蓝 -- 发布时间:2018/7/7 10:00:00 -- sql,去掉换行,自己用到sqlcommand: Select *,订单数量 - 发货数量 As 欠货数量 from ( Select 产品代码,产品,颜色,sum(订单数量) As 订单数量,0 As 发货数量 from 销售订单明细 group by 产品代码,产品,颜色 union all Select 产品代码,产品,颜色,0 As 订单数量,sum(发货数量) As 发货数量 from 产品明细 group by 产品代码,产品,颜色) As a where 订单数量 - 发货数量 <> 0 Forms("销售订单统计").Controls("统计表").Table.DataSource = dt Forms("销售订单统计").Controls("统计表").Table.AutoSizeCols() \'设置自动列宽 \'删除数值为空的记录 Tables("销售订单统计_统计表").DataTable.SysStyles("EmptyArea").BackColor = Color.WhiteSmoke \'表空白区的背景设置为灰色 Tables("销售订单统计_统计表").Sort = "产品代码,颜色" Tables("销售订单统计_统计表").Appearance.ShowSortIcon = False Tables("销售订单统计_统计表").Refresh \'自动列宽 Tables("销售订单统计_统计表").AutoSizeCols() |
|
-- 作者:实话实说 -- 发布时间:2018/7/7 11:03:00 -- 还是没弄好,我的数据库名:WgCableERP |
|
-- 作者:有点蓝 -- 发布时间:2018/7/7 11:04:00 -- 贴出你代码 |
|
-- 作者:实话实说 -- 发布时间:2018/7/7 11:37:00 -- 1楼是加载产品明细表后可以正常运行的代码,数据库名WgCableERP |
|
-- 作者:有点蓝 -- 发布时间:2018/7/7 11:42:00 -- 用4楼的方式。 不然就不要使用filler,用这种方式填充:http://www.foxtable.com/webhelp/scr/1533.htm
|
|
-- 作者:实话实说 -- 发布时间:2018/7/7 12:06:00 -- 4楼的代码一时搞不定,能帮我完善取代1楼的代码吗?或改进1楼的代码.我就是不想加载产品明细表 |
|
-- 作者:有点蓝 -- 发布时间:2018/7/7 14:05:00 --
|