Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共34 条记录, 每页显示 10 条, 页签: [1] [2][3][4]
[浏览完整版]

标题:调用后台统计数据

1楼
实话实说 发表于: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()

2楼
有点蓝 发表于: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 产品明细

http://www.foxtable.com/webhelp/scr/0696.htm
3楼
实话实说 发表于:2018/7/7 9:32:00
能不能帮我用到上面的代码中去呢?
4楼
有点蓝 发表于: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

dim dt as datatable = sqlcommand返回的表

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()
5楼
实话实说 发表于:2018/7/7 11:03:00
还是没弄好,我的数据库名:WgCableERP
6楼
有点蓝 发表于:2018/7/7 11:04:00
贴出你代码
7楼
实话实说 发表于:2018/7/7 11:37:00
1楼是加载产品明细表后可以正常运行的代码,数据库名WgCableERP

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

8楼
有点蓝 发表于:2018/7/7 11:42:00
用4楼的方式。

不然就不要使用filler,用这种方式填充:http://www.foxtable.com/webhelp/scr/1533.htm
9楼
实话实说 发表于:2018/7/7 12:06:00
4楼的代码一时搞不定,能帮我完善取代1楼的代码吗?或改进1楼的代码.我就是不想加载产品明细表
10楼
有点蓝 发表于:2018/7/7 14:05:00
不加载就不要使用filler,用这种方式填充:http://www.foxtable.com/webhelp/scr/1533.htm

共34 条记录, 每页显示 10 条, 页签: [1] [2][3][4]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 2 queries.