以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  大师们,求教!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=51723)

--  作者:悦颜
--  发布时间:2014/6/2 7:22:00
--  大师们,求教!

窗口设计,表类型为 SQLTable ; Select 语句为: Select * From {库存明细2013年} Where [_Identify] Is Null

 

窗口事件Afterload

 

Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取本月的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
DataTables("当前库存状态窗口_库存明细2013年").LoadFilter = Filter \'设置加载条件
DataTables("当前库存状态窗口_库存明细2013年").Load() \'加载数据

 

为什么我打开后是一张空表,提示:不存在 “当前库存状态窗口_库存明细2013年”的DATATABLE?


--  作者:y2287958
--  发布时间:2014/6/2 8:05:00
--  

参考一下

http://www.foxtable.com/help/topics/1930.htm


--  作者:land089
--  发布时间:2014/6/2 8:11:00
--  
改成
Tables("当前库存状态窗口_库存明细2013年").DataTable.LoadFilter  =filter \'设置加载条件
Tables("当前库存状态窗口_库存明细2013年").load() \'加载数据

--  作者:有点甜
--  发布时间:2014/6/3 16:30:00
--  
Tables("当前库存状态窗口_库存明细2013年").DataTable.LoadFilter = Filter \'设置加载条件
Tables("当前库存状态窗口_库存明细2013年").DateTable.Load() \'加载数据
--  作者:悦颜
--  发布时间:2014/6/3 23:09:00
--  
图片点击可在新窗口打开查看  多谢大师们的热心指教,终于得到了表格内容。
--  作者:悦颜
--  发布时间:2014/6/3 23:17:00
--  

看到表格后我发现 无限接近我的设想,但还没达到我的目标,老师们,能帮我把这两张表 合二为一 吗?

 

Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取本月的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
DataTables("本月库存_本月库存").LoadFilter = Filter \'设置加载条件
DataTables("本月库存_本月库存").Load() \'加载数据
\'----------------------------------------------------------------
Dim b As New CrossTableBuilder("本月库存",DataTables("本月库存_本月库存"))

b.HGroups.AddDef("产品名称") \'添加客户列用于水平分组

b.VGroups.AddDef("日期","{0}月") \'添加日期列用于垂直分组

b.Totals.AddDef("入库数量") \'添加数量列用于统计
b.Totals.AddDef("出库数量")

b.Build \'生成统计表
MainTable = Tables("本月库存") \'打开生成的统计表


--  作者:有点甜
--  发布时间:2014/6/4 9:28:00
--  

Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取本月的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"

Dim b As New CrossTableBuilder("本月库存",DataTables("本月库存_本月库存"))
b.Filter = filter
b.FromServer = True
b.HGroups.AddDef("产品名称") \'添加客户列用于水平分组
b.VGroups.AddDef("日期","{0}月") \'添加日期列用于垂直分组
b.Totals.AddDef("入库数量") \'添加数量列用于统计
b.Totals.AddDef("出库数量")
b.Build \'生成统计表
MainTable = Tables("本月库存") \'打开生成的统计表

 


--  作者:悦颜
--  发布时间:2014/6/4 18:56:00
--  

甜老师总是能点石成金哪!您做的完全符合题意,可我还是没达到目标,我想清楚了再向您请教。


--  作者:有点甜
--  发布时间:2014/6/4 19:01:00
--  

Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取本月的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"

Dim b As New SQLCrossTableBuilder("本月库存","本月库存_本月库存")
b.Filter = filter
b.HGroups.AddDef("产品名称") \'添加客户列用于水平分组
b.VGroups.AddDef("日期","{0}月") \'添加日期列用于垂直分组
b.Totals.AddDef("入库数量") \'添加数量列用于统计
b.Totals.AddDef("出库数量")
b.Build \'生成统计表
MainTable = Tables("本月库存") \'打开生成的统计表


--  作者:悦颜
--  发布时间:2014/6/4 21:51:00
--  

甜老师,我想要一个这样的动态的汇总表,随着“库存明细2013年”的明细表变动而 时实 汇总,下面的代码,我估计哪个地方写错了,所以汇总出不来,请您帮我改改吧。图片点击可在新窗口打开查看

 

 

Dim y As Integer = Date.Today.year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取本月的最后一天
Dim je As DataRow  = e.DataRow
Dim su As Double = Tables("库存明细2013年").compute("Sum(入库数量)","[产品名称] = \'" & je ("产品名称") & "\',"日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#")
Dim yf As Double = Tables("库存明细2013年").compute("Sum(出库数量)","[产品名称] = \'" & je ("产品名称") & "\',"日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"))
je("本月入库数量KG") = su
je("本月出库数量KG")=yf
Select Case e.DataCol.name
    Case "期初数量KG","本月出库数量KG","本月入库数量KG","当前库存数量KG","实际可用数量KG","已预订数量KG"
        je("当前库存数量KG") = je("期初数量KG") + je ("本月入库数量KG") - je("本月出库数量KG")
        je("实际可用数量KG") =je("当前库存数量KG") - je("已预订数量KG")
End Select
\'--------------------------



图片点击可在新窗口打开查看此主题相关图片如下:aaa.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-6-4 21:53:24编辑过]