以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 后台统计设置错误(解决) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129636) |
-- 作者:taifeng110 -- 发布时间:2019/1/3 0:41:00 -- 后台统计设置错误(解决) Dim dateqi As Date =e.Form.Controls("DateTimePicker1").value Dim datezhi As Date=e.Form.Controls("DateTimePicker2").value Dim bd1 As New GroupTableBuilder("统计表1",DataTables("销售订单")) Dim dt1 As fxDataSource \'bd1.FromServer = True bd1.Filter="出库日期 < \'" & dateqi & "\'" 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.FromServer = True bd2.Filter="出库日期 < \'" & dateqi & "\'" bd2.Groups.AddDef("客户编号") \'根据型号分组 bd2.Groups.AddDef("客户名称") \'根据型号分组 bd2.Totals.AddDef("出库金额","期初欠款_发货金额") \'对数量进行统计 dt2 = bd2.BuildDataSource() Dim bd3 As New GroupTableBuilder("统计表3",DataTables("发票表")) Dim dt3 As fxDataSource \'bd3.FromServer = True bd3.Filter="发票日期 < \'" & dateqi & "\'" bd3.Groups.AddDef("客户编号") \'根据型号分组 bd3.Groups.AddDef("客户名称") \'根据型号分组 bd3.Totals.AddDef("发票金额","期初欠款_发票金额") \'对数量进行统计 dt3 = bd3.BuildDataSource() Dim bd4 As New GroupTableBuilder("统计表4",DataTables("收款表")) Dim dt4 As fxDataSource \'bd4.FromServer = True bd4.Filter="日期 < \'" & dateqi & "\'" bd4.Groups.AddDef("客户编号") \'根据型号分组 bd4.Groups.AddDef("客户名称") \'根据型号分组 bd4.Totals.AddDef("收款金额","期初欠款_收款金额") \'对数量进行统计 dt4 = bd4.BuildDataSource() Dim bd5 As New GroupTableBuilder("统计表5",DataTables("物流明细")) Dim dt5 As fxDataSource \'bd5.FromServer = True bd5.Filter="出库日期 >= \'" & dateqi & "\' and 出库日期 <= \'" & Datezhi & "\'" bd5.Groups.AddDef("客户编号") \'根据型号分组 bd5.Groups.AddDef("客户名称") \'根据型号分组 bd5.Totals.AddDef("出库金额","本期发生额_发货金额") \'对数量进行统计 dt5 = bd5.BuildDataSource() Dim bd6 As New GroupTableBuilder("统计表6",DataTables("发票表")) Dim dt6 As fxDataSource \'bd6.FromServer = True bd6.Filter="发票日期 >= \'" & dateqi & "\' and 发票日期 <= \'" & Datezhi & "\'" bd6.Groups.AddDef("客户编号") \'根据型号分组 bd6.Groups.AddDef("客户名称") \'根据型号分组 bd6.Totals.AddDef("发票金额","本期发生额_发票金额") \'对数量进行统计 dt6 = bd6.BuildDataSource() Dim bd7 As New GroupTableBuilder("统计表7",DataTables("收款表")) Dim dt7 As fxDataSource \'bd7.FromServer = True bd7.Filter="日期 >= \'" & dateqi & "\' and 日期 <= \'" & Datezhi & "\'" bd7.Groups.AddDef("客户编号") \'根据型号分组 bd7.Groups.AddDef("客户名称") \'根据型号分组 bd7.Totals.AddDef("收款金额","本期发生额_收款金额") \'对数量进行统计 dt7 = bd7.BuildDataSource() Dim nms As String() = {"客户名称"} dt1.Combine(nms,dt2,nms) \'将销售统计数据组合到进货统计数据 dt1.Combine(nms,dt3,nms) \'将销售统计数据组合到进货统计数据 dt1.Combine(nms,dt4,nms) \'将销售统计数据组合到进货统计数据 dt1.Combine(nms,dt5,nms) \'将销售统计数据组合到进货统计数据 dt1.Combine(nms,dt6,nms) \'将销售统计数据组合到进货统计数据 dt1.Combine(nms,dt7,nms) \'将销售统计数据组合到进货统计数据 \' \'dt1.Combine("客户名称",dt2,"客户名称") \'将销售统计数据组合到进货统计数据 \'dt1.Combine("客户名称",dt3,"客户名称") \'将销售统计数据组合到进货统计数据 \'dt1.Combine("客户名称",dt4,"客户名称") \'将销售统计数据组合到进货统计数据 \'dt1.Combine("客户名称",dt5,"客户名称") \'将销售统计数据组合到进货统计数据 \'dt1.Combine("客户名称",dt6,"客户名称") \'将销售统计数据组合到进货统计数据 \'dt1.Combine("客户名称",dt7,"客户名称") \'将销售统计数据组合到进货统计数据 \' Tables("应收账款_Table1").DataSource = dt1 \'将统计结果绑定到Table With DataTables("应收账款_Table1").DataCols \'用表达式列计算库存数据 .Add("期初欠款_期初余额",Gettype(Single), "IsNull([期初欠款_期初金额],0) + ISNULL([期初欠款_发货金额],0) - ISNULL([期初欠款_收款金额],0)") .Add("期初欠款_期初欠发票",Gettype(Single), "IsNull([期初欠款_欠发票总金额],0) + ISNULL([期初欠款_发货金额],0) - ISNULL([期初欠款_发票金额],0)") .Add("期末欠款_期末欠货款",Gettype(Single), "IsNull([期初欠款_期初金额],0) + ISNULL([期初欠款_发货金额],0) - ISNULL([期初欠款_收款金额],0)+ISNULL([本期发生额_发货金额],0)+ISNULL([本期发生额_收款金额],0)") .Add("期末欠款_期末欠发票",Gettype(Single), "IsNull([期初欠款_欠发票总金额],0) + ISNULL([期初欠款_发货金额],0) - ISNULL([期初欠款_发票金额],0)+ISNULL([本期发生额_发货金额],0)-ISNULL([本期发生额_发票金额],0)") End With Tables("应收账款_Table1").Cols("期初欠款_期初金额").Visible = False Tables("应收账款_Table1").Cols("期初欠款_欠发票总金额").Visible = False Tables("应收账款_Table1").Cols("期初欠款_发货金额").Visible = False Tables("应收账款_Table1").Cols("期初欠款_发票金额").Visible = False Tables("应收账款_Table1").Cols("期初欠款_收款金额").Visible = False Tables("应收账款_Table1").Filter ="客户编号 is not null" Tables("应收账款_Table1").SetColVisibleWidth("客户编号|60|客户名称|290|期初欠款_期初余额|90|期初欠款_期初欠发票|90|本期发生额_发货金额|90|本期发生额_发票金额|90|本期发生额_收款金额|90|期末欠款_期末欠货款|90|期末欠款_期末欠发票|90") Tables("应收账款_Table1").Cols("期初欠款_期初余额").GrandTotal = True \'指定要合计的列\' Tables("应收账款_Table1").Cols("期初欠款_期初欠发票").GrandTotal = True \'指定要合计的列\' Tables("应收账款_Table1").Cols("本期发生额_发货金额").GrandTotal = True \'指定要合计的列\' Tables("应收账款_Table1").Cols("本期发生额_发票金额").GrandTotal = True \'指定要合计的列\' Tables("应收账款_Table1").Cols("本期发生额_收款金额").GrandTotal = True \'指定要合计的列\' Tables("应收账款_Table1").Cols("期末欠款_期末欠货款").GrandTotal = True \'指定要合计的列\' Tables("应收账款_Table1").Cols("期末欠款_期末欠发票").GrandTotal = True \'指定要合计的列\' Tables("应收账款_Table1").GrandTotal = True \'显示合计模式 上面这段代码,但是把所有都设成FromServer = True,就提示 .NET Framework 版本:2.0.50727.8793 Foxtable 版本:2018.3.9.1 错误所在事件:窗口,应收账款,Button1,Click 详细错误信息: 无法找到列 客户名称。 [此贴子已经被作者于2019/1/6 18:36:31编辑过]
|
-- 作者:y2287958 -- 发布时间:2019/1/3 8:26:00 -- 无法找到列 客户名称。 |
-- 作者:有点甜 -- 发布时间:2019/1/3 9:03:00 -- 提示很明显,你某一个表,没有【客户名称】列。
请分别屏蔽代码测试,看哪一段开始有问题。或者你把BuildDataSource改成build,看生成的统计表是否正确。
不会做上传具体实例测试。 |
-- 作者:taifeng110 -- 发布时间:2019/1/3 9:25:00 -- 为什么会这样呢? 我想让他开启后台统计的功能。
|
-- 作者:有点甜 -- 发布时间:2019/1/3 9:29:00 -- 提示很明显,你某一个表,没有【客户名称】列。
请分别屏蔽代码测试,看哪一段开始有问题。或者你把BuildDataSource改成build,看生成的统计表是否正确。
不会做上传具体实例测试 |
-- 作者:有点甜 -- 发布时间:2019/1/3 9:29:00 -- 以下是引用taifeng110在2019/1/3 9:25:00的发言:
为什么会这样呢? 我想让他开启后台统计的功能。
是不是你后台的表没有【客户名称】列?你【客户名称】列是表达式列? |
-- 作者:taifeng110 -- 发布时间:2019/1/3 10:31:00 -- 我的意思是说,这段代码FromServer = True去掉后,代码都正常了 |
-- 作者:有点甜 -- 发布时间:2019/1/3 10:39:00 -- 以下是引用taifeng110在2019/1/3 10:31:00的发言:
我的意思是说,这段代码FromServer = True去掉后,代码都正常了
那你后台的表(数据库里面)没有【客户名称】列?你【客户名称】列是表达式列?
请分别屏蔽代码测试,看哪一段开始有问题。或者你把BuildDataSource改成build,看生成的统计表是否正确。
不会做上传具体实例测试 |