以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 统计按钮公式出错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57789) |
||||
-- 作者:wumingrong1 -- 发布时间:2014/10/2 21:42:00 -- [求助] 统计按钮公式出错 我有一个统计功能按钮,命令如下: Dim g1 As New GroupTableBuilder("光缆纤芯利用率表", DataTables("光缆纤芯应用台帐表")) g1.Groups.AddDef("光缆类别") g1.Groups.AddDef("光缆对数") g1.Totals.AddDef("纤芯编号", AggregateEnum.Count, "总纤芯数量") g1.Filter = " 光缆名称 Is not null" g1.Build() DataTables("光缆纤芯利用率表").DataCols.Add("使用纤芯数量", Gettype(Integer)) DataTables("光缆纤芯利用率表").DataCols.Add("光缆数量", Gettype(Integer)) DataTables("光缆纤芯利用率表").DataCols.Add("纤芯利用率", Gettype(Double)) For Each r1 As Row In Tables("光缆纤芯利用率表").rows r1("使用纤芯数量") = DataTables("光缆纤芯应用台帐表").Compute("count(_Identify)", " 光缆类别 = \'" & r1("光缆类别") & "\' and 光缆对数 = \'" & r1("光缆对数") & "\' and 业务名称 is not null") r1("光缆数量") = DataTables("光缆纤芯应用台帐表").GetValues("光缆名称", "光缆类别 = \'" & r1("光缆类别") & "\' and 光缆对数 = \'" & r1("光缆对数") & "\' ").Count r1("纤芯利用率") = r1("使用纤芯数量") / r1("总纤芯数量") Next DataTables("光缆纤芯利用率表").DataCols("纤芯利用率").SetFormat("00.00%") \'MainTable = Tables("机房光缆纤芯利用率表") Tables("光缆纤芯利用率表").SetColVisibleWidth("光缆类别|150|光缆对数|160|总纤芯数量|120|光缆数量|80|总纤芯数量|80|使用纤芯数量|80|纤芯利用率|80") 当我点击该按钮后,提示出错;请帮我看看问题出在哪里? 此主题相关图片如下:360截图20141002214007037.jpg 此主题相关图片如下:360截图20141002214038584.jpg 此主题相关图片如下:360截图20141002214049943.jpg |
||||
-- 作者:有点甜 -- 发布时间:2014/10/4 9:47:00 -- 提示不是已经很明显了么?不存在对应的列。
具体问题,做个例子发上来。 |
||||
-- 作者:wumingrong1 -- 发布时间:2014/10/8 9:19:00 -- 在第一个图中的 “光缆纤芯利用率表”中有"使用纤芯数量"这一列,同时也已经统计出数量啦。在 ‘统计’ 按钮中也有增加“使用纤芯数量”这个命令啊 DataTables("光缆纤芯利用率表").DataCols.Add("使用纤芯数量", Gettype(Integer))
|
||||
-- 作者:有点甜 -- 发布时间:2014/10/8 9:30:00 -- 你直接查看表结构,有可能是标题和列名不一致。
或者你做个例子发上来 |
||||
-- 作者:wumingrong1 -- 发布时间:2014/10/8 10:19:00 --
|
||||
-- 作者:有点甜 -- 发布时间:2014/10/8 10:22:00 -- Dim g1 As New GroupTableBuilder("光缆纤芯利用率表", DataTables("光缆纤芯应用台帐表")) g1.Groups.AddDef("光缆类别") g1.Filter = " 光缆名称 Is not null" Tables("光缆纤芯利用率表").SetColVisibleWidth("光缆类别|150|光缆对数|160|总纤芯数量|120|光缆数量|80|使用纤芯数量|80|纤芯利用率|80") |
||||
-- 作者:wumingrong1 -- 发布时间:2014/10/8 10:40:00 -- 你这个命令和我按钮里写的好像一样啊、这次提示没有“光缆数量”列 [此贴子已经被作者于2014-10-8 10:40:44编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2014/10/8 10:43:00 -- 我测试你的例子没有报错啊 |
||||
-- 作者:wumingrong1 -- 发布时间:2014/10/8 10:46:00 -- 你点完统计、切换到其他表后、回来再点一次统计看看。是不是红色部分有什么问题? r1("使用纤芯数量") = DataTables("光缆纤芯应用台帐表").Compute("count(_Identify)", " 光缆类别 = \'" & r1("光缆类别") & "\' and 光缆对数 = \'" & r1("光缆对数") & "\' and 业务名称 is not null")
r1("光缆数量") = DataTables("光缆纤芯应用台帐表").GetValues("光缆名称", "光缆类别 = \'" & r1("光缆类别") & "\' and 光缆对数 = \'" & r1("光缆对数") & "\' ").Count |
||||
-- 作者:有点甜 -- 发布时间:2014/10/8 11:09:00 -- 代码
Dim g1 As New GroupTableBuilder("光缆纤芯利用率表", DataTables("光缆纤芯应用台帐表")) g1.Groups.AddDef("光缆类别") g1.Filter = " 光缆名称 Is not null" e.form.Controls("Table1").Table.SetColVisibleWidth("光缆类别|150|光缆对数|160|总纤芯数量|120|光缆数量|80|使用纤芯数量|80|纤芯利用率|80") |