Foxtable(狐表)用户栏目专家坐堂 → 统计要多个字段加个日期字段要怎么改


  共有2537人关注过本帖树形打印复制链接

主题:统计要多个字段加个日期字段要怎么改

帅哥哟,离线,有人找我吗?
青丘狐
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
统计要多个字段加个日期字段要怎么改  发帖心情 Post By:2020/12/9 11:57:00 [只看该作者]

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("期初库存"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("生产日期") '根据型号分组
bd1.Groups.AddDef("仓库") '根据型号分组
bd1.Groups.AddDef("产地") '根据型号分组
bd1.Groups.AddDef("货物名称") '根据品名分组
bd1.Groups.AddDef("规格型号") '根据型号分组
bd1.Totals.AddDef("数量","期初_数量") '对数量进行统计
bd1.Totals.AddDef("重量","期初_重量") '对金额进行统计
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("入库明细表"))
Dim dt2 As fxDataSource
bd2.Groups.AddDef("生产日期") '根据型号分组
bd2.Groups.AddDef("仓库") '根据型号分组
bd2.Groups.AddDef("产地") '根据型号分组
bd2.Groups.AddDef("货物名称") '根据品名分组
bd2.Groups.AddDef("规格型号") '根据型号分组
bd2.Totals.AddDef("数量","入库_数量") '对数量进行统计
bd2.Totals.AddDef("重量","入库_重量") '对金额进行统计
dt2 = bd2.BuildDataSource()

Dim bd3 As New GroupTableBuilder("统计表3",DataTables("出库明细表"))
Dim dt3 As fxDataSource
bd3.Groups.AddDef("生产日期") '根据型号分组
bd3.Groups.AddDef("仓库") '根据型号分组
bd3.Groups.AddDef("产地") '根据型号分组
bd3.Groups.AddDef("货物名称") '根据品名分组
bd3.Groups.AddDef("规格型号") '根据型号分组
bd3.Totals.AddDef("数量","出库_数量") '对数量进行统计
bd3.Totals.AddDef("重量","出库_重量") '对金额进行统计
dt3 = bd3.BuildDataSource()

Dim bd4 As New GroupTableBuilder("统计表4",DataTables("退货明细表"))
Dim dt4 As fxDataSource
bd4.Groups.AddDef("生产日期") '根据型号分组
bd4.Groups.AddDef("仓库") '根据型号分组
bd4.Groups.AddDef("产地") '根据型号分组
bd4.Groups.AddDef("货物名称") '根据品名分组
bd4.Groups.AddDef("规格型号") '根据型号分组
bd4.Totals.AddDef("数量","退货_数量") '对数量进行统计
bd4.Totals.AddDef("重量","退货_重量") '对金额进行统计
dt4 = bd4.BuildDataSource()

Dim nms As String() = {"仓库","产地","货物名称","规格型号"} '指定连接列
dt1.Combine("生产日期",dt2,"生产日期")
dt1.Combine("生产日期",dt3,"生产日期")
dt1.Combine("生产日期",dt4,"生产日期")

dt1.Combine(nms,dt2,nms) '将销售统计数据组合到进货统计数据
dt1.Combine(nms,dt3,nms) '将退货统计数据组合到进货统计数据
dt1.Combine(nms,dt4,nms)

Tables("销售提单登记_Table2").DataSource = dt1 '将统计结果绑定到Table
With DataTables("销售提单登记_Table2").DataCols  '用表达式列计算库存数据
    .Add("库存_数量",Gettype(Integer), "IsNull([期初_数量],0) + IsNull([入库_数量],0) - ISNULL([出库_数量],0) - ISNULL([退货_数量],0)")
    .Add("库存_重量",Gettype(Double), "IsNull([期初_重量],0) + IsNull([入库_数量],0) - ISNULL([出库_重量],0) - ISNULL([退货_重量],0)")
End With

With Tables("销售提单登记_Table2")
    .Cols("库存_数量").GrandTotal = True
    .Cols("库存_重量").GrandTotal = True  
    .GrandTotal = True
End With

 

 

之前统计没有问题 加入 生产日期后出错 统计不出来


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/9 13:37:00 [只看该作者]

dt4 = bd4.BuildDataSource()

Dim nms As String() = {"生产日期","仓库","产地","货物名称","规格型号"} '指定连接列

dt1.Combine(nms,dt2,nms) '将销售统计数据组合到进货统计数据
dt1.Combine(nms,dt3,nms) '将退货统计数据组合到进货统计数据
dt1.Combine(nms,dt4,nms)


 回到顶部
帅哥哟,离线,有人找我吗?
青丘狐
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2020/12/9 14:07:00 [只看该作者]

Dim nms As String() = {"生产日期","仓库","产地","货物名称","规格型号"} '指定连接列

 

生产日期加到这里不对 定义的是String 型 要从新定义下日期吗?

 

之前是这样写的生产日期全部显示为11

[此贴子已经被作者于2020/12/9 14:08:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/9 14:27:00 [只看该作者]

在Groups集合中添加一个分组列的语法是: 

Groups.AddDef(Name)
Groups.AddDef(Name, NewName)
Groups.AddDef(Name, NewName, NewCaption)
Groups.AddDef(Name, DateGroup)
Groups.AddDef(Name, DateGroup, NewName)
Groups.AddDef(Name, DateGroup, NewName, NewCaption)

参数说明

Name:        字符型,指定分组列。
NewName:     字符型,用于给分组列指定一个新的名称,这个名称在统计表中显示。
NewCaption:  字符型,用于给分组列设置标题。
DateGroup:  DateGroupEnum型枚举,如果分组列是日期列,可用此属性指定如何根据日期进行分组,默认按月分组。

DateGroupEnum枚举的可选值:

None :     不分组
Year:      按年分组 
Quarter:   按季度分组
Month:     按月分组
Week:      按周分组
Day:       按天分组,月中的某一天。
Hour:      按小时分组
Minute:    按分钟分组
Second:    按秒分组


bd1.Groups.AddDef("生产日期",DateGroupEnum.none)


 回到顶部
帅哥哟,离线,有人找我吗?
青丘狐
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2020/12/9 16:20:00 [只看该作者]

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("期初库存"))
Dim dt1 As fxDataSource

bd1.Groups.AddDef("生产日期",DateGroupEnum.none)
bd1.Groups.AddDef("仓库") '根据型号分组
bd1.Groups.AddDef("产地") '根据型号分组
bd1.Groups.AddDef("货物名称") '根据品名分组
bd1.Groups.AddDef("规格型号") '根据型号分组
bd1.Totals.AddDef("数量","期初_数量") '对数量进行统计
bd1.Totals.AddDef("重量","期初_重量") '对金额进行统计
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("入库明细表"))
Dim dt2 As fxDataSource
bd2.Groups.AddDef("生产日期",DateGroupEnum.none)
bd2.Groups.AddDef("仓库") '根据型号分组
bd2.Groups.AddDef("产地") '根据型号分组
bd2.Groups.AddDef("货物名称") '根据品名分组
bd2.Groups.AddDef("规格型号") '根据型号分组
bd2.Totals.AddDef("数量","入库_数量") '对数量进行统计
bd2.Totals.AddDef("重量","入库_重量") '对金额进行统计
dt2 = bd2.BuildDataSource()

Dim bd3 As New GroupTableBuilder("统计表3",DataTables("出库明细表"))
Dim dt3 As fxDataSource
bd3.Groups.AddDef("生产日期",DateGroupEnum.none)
bd3.Groups.AddDef("仓库") '根据型号分组
bd3.Groups.AddDef("产地") '根据型号分组
bd3.Groups.AddDef("货物名称") '根据品名分组
bd3.Groups.AddDef("规格型号") '根据型号分组
bd3.Totals.AddDef("数量","出库_数量") '对数量进行统计
bd3.Totals.AddDef("重量","出库_重量") '对金额进行统计
dt3 = bd3.BuildDataSource()

Dim bd4 As New GroupTableBuilder("统计表4",DataTables("退货明细表"))
Dim dt4 As fxDataSource
bd1.Groups.AddDef("生产日期",DateGroupEnum.none)
bd4.Groups.AddDef("仓库") '根据型号分组
bd4.Groups.AddDef("产地") '根据型号分组
bd4.Groups.AddDef("货物名称") '根据品名分组
bd4.Groups.AddDef("规格型号") '根据型号分组
bd4.Totals.AddDef("数量","退货_数量") '对数量进行统计
bd4.Totals.AddDef("重量","退货_重量") '对金额进行统计
dt4 = bd4.BuildDataSource()

Dim nms As String() = {"生产日期","仓库","产地","货物名称","规格型号"} '指定连接列
dt1.Combine(nms,dt2,nms) '将销售统计数据组合到进货统计数据
dt1.Combine(nms,dt3,nms) '将退货统计数据组合到进货统计数据
dt1.Combine(nms,dt4,nms)

Tables("销售提单登记_Table2").DataSource = dt1 '将统计结果绑定到Table
With DataTables("销售提单登记_Table2").DataCols  '用表达式列计算库存数据
    .Add("库存_数量",Gettype(Integer), "IsNull([期初_数量],0) + IsNull([入库_数量],0) - ISNULL([出库_数量],0) - ISNULL([退货_数量],0)")
    .Add("库存_重量",Gettype(Double), "IsNull([期初_重量],0) + IsNull([入库_数量],0) - ISNULL([出库_重量],0) - ISNULL([退货_重量],0)")
End With

With Tables("销售提单登记_Table2")
    .Cols("库存_数量").GrandTotal = True
    .Cols("库存_重量").GrandTotal = True  
    .GrandTotal = True
End With

 

 

谢谢 !解决了

[此贴子已经被作者于2020/12/9 16:21:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
caoaifeng
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:217 威望:0 精华:0 注册:2020/10/12 22:53:00
如何用代码新增一个表  发帖心情 Post By:2020/12/14 22:58:00 [只看该作者]

如何用代码新增一个表

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/14 23:03:00 [只看该作者]

以下是引用caoaifeng在2020/12/14 22:58:00的发言:
如何用代码新增一个表

参考: http://www.foxtable.com/webhelp/topics/2122.htm

另外,和别人的问题无关的,请新建帖子提问。

 回到顶部
帅哥哟,离线,有人找我吗?
caoaifeng
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:217 威望:0 精华:0 注册:2020/10/12 22:53:00
  发帖心情 Post By:2020/12/16 23:18:00 [只看该作者]

谢谢老师

 回到顶部