Foxtable(狐表)用户栏目专家坐堂 → [求助] 统计按钮公式出错


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

主题:[求助] 统计按钮公式出错

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 统计按钮公式出错  发帖心情 Post By: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
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/4 9:47:00 [只看该作者]

 提示不是已经很明显了么?不存在对应的列。

 

 具体问题,做个例子发上来。


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/8 9:19:00 [只看该作者]

在第一个图中的 “光缆纤芯利用率表”中有"使用纤芯数量"这一列,同时也已经统计出数量啦。在  ‘统计’ 按钮中也有增加“使用纤芯数量”这个命令啊

DataTables("光缆纤芯利用率表").DataCols.Add("使用纤芯数量", Gettype(Integer))

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/8 9:30:00 [只看该作者]

 你直接查看表结构,有可能是标题和列名不一致。

 

 或者你做个例子发上来


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/8 10:19:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.foxdb


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/8 10:22:00 [只看该作者]

Dim g1 As New GroupTableBuilder("光缆纤芯利用率表", DataTables("光缆纤芯应用台帐表"))

g1.Groups.AddDef("光缆类别")
g1.Groups.AddDef("光缆对数")
g1.Totals.AddDef("纤芯编号", AggregateEnum.Count, "总纤芯数量")
'g1.Groups.AddDef("使用纤芯数量")
'g1.Groups.AddDef("光缆数量")
'g1.Groups.AddDef("纤芯利用率")

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")


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/8 10:40:00 [只看该作者]

你这个命令和我按钮里写的好像一样啊、这次提示没有“光缆数量”列
[此贴子已经被作者于2014-10-8 10:40:44编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/8 10:43:00 [只看该作者]

 我测试你的例子没有报错啊

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By: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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/8 11:09:00 [只看该作者]

 代码

 

Dim g1 As New GroupTableBuilder("光缆纤芯利用率表", DataTables("光缆纤芯应用台帐表"))

g1.Groups.AddDef("光缆类别")
g1.Groups.AddDef("光缆对数")
g1.Totals.AddDef("纤芯编号", AggregateEnum.Count, "总纤芯数量")

g1.Filter = " 光缆名称 Is not null"
e.form.Controls("Table1").Table.DataSource = g1.BuildDataSource
Dim dt As DataTable = e.form.Controls("Table1").Table.DataTable
dt.DataCols.Add("使用纤芯数量", Gettype(Integer))
dt.DataCols.Add("光缆数量", Gettype(Integer))
dt.DataCols.Add("纤芯利用率", Gettype(Double))
For Each r1 As DataRow In dt.datarows
    r1("使用纤芯数量") = DataTables("光缆纤芯应用台帐表").Compute("count(_Identify)", " 光缆类别 = '" & r1("光缆类别") & "' and 光缆对数 = '" & r1("光缆对数") & "' and  业务名称 is not null")
   
    r1("光缆数量") = DataTables("光缆纤芯应用台帐表").GetValues("光缆名称", "光缆类别 = '" & r1("光缆类别") & "' and 光缆对数 = '" & r1("光缆对数") & "' ").Count
    r1("纤芯利用率") = r1("使用纤芯数量") / r1("总纤芯数量")
Next
dt.DataCols("纤芯利用率").SetFormat("00.00%")
'MainTable = Tables("机房光缆纤芯利用率表")

e.form.Controls("Table1").Table.SetColVisibleWidth("光缆类别|150|光缆对数|160|总纤芯数量|120|光缆数量|80|使用纤芯数量|80|纤芯利用率|80")


 回到顶部
总数 16 1 2 下一页