以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 合格率 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132299) |
-- 作者:qinlao666 -- 发布时间:2019/3/19 12:42:00 -- 合格率 Dim b As New CrossTableBuilder("统计表1",DataTables("采购送检")) b.HGroups.AddDef("送检日期",DateGroupEnum.Year,"年") \'添加日期列用于水平分组,按年分组 b.HGroups.AddDef("供方代码","供方代码") \'添加日期列用于水平分组,按月分组 b.VGroups.AddDef("送检日期","送检日期_{0}月") \'添加产品列用于垂直分组 b.Totals.AddDef("金额") \'添加数量列用于统计 b.Totals.AddDef("交验数量") \'添加数量列用于统计 b.Totals.AddDef("合格数量") \'添加数量列用于统计 b.Totals.AddDef("降用数量") \'添加数量列用于统计 b.Totals.AddDef("报废数量") \'添加数量列用于统计 b.Subtotal = True \'生成汇总模式 b.Build \'生成统计表 MainTable = Tables("统计表1") \'打开生成的统计表 我想在统计表中再增加一列合格率,公式是合格数量/交验数量, 请老师赐教代码,谢谢!
|
-- 作者:有点甜 -- 发布时间:2019/3/19 12:45:00 -- 生成统计表后,添加一列,即可
http://www.foxtable.com/webhelp/scr/1428.htm
|
-- 作者:qinlao666 -- 发布时间:2019/3/19 13:16:00 -- 我需要每月都进行合格率的统计 |
-- 作者:qinlao666 -- 发布时间:2019/3/19 13:30:00 -- 请教老师,我这个列名该如何写,测试总是找不到列名 DataTables("统计表1").DataCols.Add("合格率", Gettype(Double), "[合格数量] / [交验数量] ")
|
-- 作者:qinlao666 -- 发布时间:2019/3/19 14:08:00 -- Dim b As New CrossTableBuilder("统计表1",DataTables("采购送检")) b.HGroups.AddDef("送检日期",DateGroupEnum.Year,"年") \'添加日期列用于水平分组,按年分组 b.HGroups.AddDef("供方代码","供方代码") \'添加日期列用于水平分组,按月分组 b.VGroups.AddDef("送检日期","{0}月") \'添加产品列用于垂直分组 b.Totals.AddDef("金额") \'添加数量列用于统计 b.Totals.AddDef("交验数量") \'添加数量列用于统计 b.Totals.AddDef("合格数量") \'添加数量列用于统计 b.Totals.AddDef("降用数量") \'添加数量列用于统计 b.Totals.AddDef("报废数量") \'添加数量列用于统计 b.Subtotal = True \'生成汇总模式 b.Build \'生成统计表 Dim nms() As String = {"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"} For Each nm As String In nms DataTables("统计表1").DataCols.Add(nm & "_合格率",Gettype(Double), nm & "_合格数量"/ nm & "_ 交验数量" ) Tables("统计表1").Cols(nm & "_合格率").Move(Tables("统计表1").Cols(nm & "_报废数量").Index + 1) Next MainTable = Tables("统计表1") \'打开生成的统计表 报错 从字符串“_合格数量”到类型“Double”的转换无效。 请老师帮忙修改下代码
|
-- 作者:有点甜 -- 发布时间:2019/3/19 14:28:00 -- 1、看你的表结构是什么,列名有可能写错了
http://www.foxtable.com/webhelp/scr/0193.htm
2、如果不会做,上传实例测试 |
-- 作者:2900819580 -- 发布时间:2019/3/19 14:33:00 -- 以下是引用有点甜在2019/3/19 14:28:00的发言:
1、看你的表结构是什么,列名有可能写错了
http://www.foxtable.com/webhelp/scr/0193.htm
2、如果不会做,上传实例测试 老师,正好我也也碰到这样的问题,表的名称无法判断,只能从标题看到。 表达式要怎么写。 [此贴子已经被作者于2019/3/19 14:33:27编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/3/19 14:44:00 -- 先这样处理
Dim dic As new Dictionary(of String, String)
使用的时候,这样处理
If dic.ContainsKey("第一列") Then |
-- 作者:2900819580 -- 发布时间:2019/3/19 15:02:00 -- 代码如下,老师看一下有没有优化的空间!
Dim tb As Table = Tables(e.Form.Name & "_Table3") Dim nmls As new List(of String) For Each c As Col In tb.Cols |
-- 作者:2900819580 -- 发布时间:2019/3/19 15:16:00 -- 还有一个问题,新增的列是在表单的后面的,如何用代码将他们重新排序,像9楼的图片显示一样。 |