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


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

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

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


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

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

 

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


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


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

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

 

 或者你做个例子发上来


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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")


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


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/8 15:12:00 [显示全部帖子]

 你不是显示在窗口里面了么?就没有必要生成临时表

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


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

 直接操作窗口表,窗口表也是可以筛选导出的


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/8 15:44:00 [显示全部帖子]


 回到顶部