以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 计数统计按钮公式  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=57007)

--  作者:wumingrong1
--  发布时间:2014/9/16 17:20:00
--  [求助] 计数统计按钮公式
我在附件中 按下 统计 按钮,如何实现:统计表   中的效果

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



--  作者:有点甜
--  发布时间:2014/9/16 20:12:00
--  

Dim g As New GroupTableBuilder("统计表1", DataTables("机房板件端口表"))
g.Groups.AddDef("机房名称")
g.Groups.AddDef("设备名称")
g.Groups.AddDef("设备型号")
g.Groups.AddDef("板件型号")
g.Groups.AddDef("设备型号")
g.Groups.AddDef("端口类型")
g.Totals.AddDef("端口编号", AggregateEnum.Count, "总端口数量")
g.Filter = "机房名称 Is not null"
g.Build()

DataTables("统计表1").DataCols.Add("使用端口数量", Gettype(Integer))
DataTables("统计表1").DataCols.Add("端口利用率", Gettype(Double))
For Each r As Row In Tables("统计表1").rows
    r("使用端口数量") = DataTables("机房板件端口表").Compute("count(_Identify)", "机房名称 = \'" & r("机房名称") & "\' and 设备名称 = \'" & r("设备名称") & "\' and 设备型号 = \'" & r("设备型号") & "\' and 板件型号 = \'" & r("板件型号") & "\' and 端口类型 = \'" & r("端口类型") & "\' and 端口应用 is not null")
    r("端口利用率") = r("使用端口数量") / r("总端口数量")
Next
DataTables("统计表1").DataCols("端口利用率").SetFormat("00.00%")

MainTable = Tables("统计表1")


--  作者:wumingrong1
--  发布时间:2014/9/17 16:13:00
--  
板件槽位 列为非数字列;想统计出包括‘板件槽位’列中不重复的数量:
如:统计出来的数量为  5
板件槽位

0/0/0
0/0/0
0/0/1
0/2/0
0/2/2
3/0/0

以下命令中的红色部分该怎么改?
For Each r As Row In Tables("设备端口利用率表").rows

 r("板件数量") = DataTables("机房板件端口表").Compute("count(_Identify)", " 设备名称 = \'" & r("设备名称") & "\' and 设备型号 = \'" & r("设备型号") & "\' and 板件型号 = \'" & r("板件型号") & "\' and  板件槽位 不重复")

[此贴子已经被作者于2014-9-17 16:17:35编辑过]

--  作者:有点甜
--  发布时间:2014/9/17 16:17:00
--  
r("板件数量") = DataTables("机房板件端口表").GetValues("板件槽位", " 设备名称 = \'" & r("设备名称") & "\' and 设备型号 = \'" & r("设备型号") & "\' and 板件型号 = \'" & r("板件型号") & "\'").Count