Foxtable(狐表)用户栏目专家坐堂 → [求助]统计


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

主题:[求助]统计

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/8 16:23:00 [显示全部帖子]

类似的参考

 

http://www.foxtable.com/webhelp/scr/0681.htm

 

 

下载信息  [文件大小:336.0 KB  下载次数:3]
点击浏览该文件:管理项目20.table


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/9 10:41:00 [显示全部帖子]

不会做,请上传实例。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/9 14:30:00 [显示全部帖子]

做好一个统计表,然后用下面代码

 

Dim lsb As DataTable = DataTables("检测项目")
Dim ryz() As String = {"A","B","C","D"}
Dim jhs() As String = {"首次检测","返修检测"}
DataTables("统计表").datarows.Clear
For Each jh As String In jhs
    Dim dr As DataRow = DataTables("统计表").AddNew()
    dr("检测性质") = jh
    For Each ry As String In ryz
        dr(ry) = lsb.Compute("sum(" & jh & "人员_" & ry & ")", "")
    Next
Next

 

不会做,请上传具体实例。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/9 15:40:00 [显示全部帖子]

 动态生成表,参考

 

http://www.foxtable.com/webhelp/scr/0679.htm

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/10 16:56:00 [显示全部帖子]

Dim lsb As DataTable = DataTables("表B")
Dim ryz() As String = {"A","B","C","D"}
Dim dtb As New DataTableBuilder("统计表")
dtb.AddDef("检测性质", Gettype(String), 32)
For Each ry As String In ryz
    dtb.AddDef(ry, Gettype(String), 32)
Next

dtb.Build()

Dim rq1 As Date
Dim rq2 As Date
With RibbonTabs("功能区1").Groups("功能组1")
    rq1 = .Items("开始日期").Value
    rq2 = .Items("结束日期").Value
End With
Dim filter As String = "1=1"
If rq1 <> Nothing Then
    filter &= " and [首次检测_检测日期] >= #" & rq1 & "#"
End If
If rq2 <> Nothing Then
    filter &= " And [首次检测_检测日期] <= #" & rq2 & "#"
End If
Dim dr As DataRow = DataTables("统计表").AddNew()
dr("检测性质") = "首次检测"
For Each ry As String In ryz
    dr(ry) = lsb.Compute("sum(首次检测人员_" & ry & ")", filter)
Next
MainTable = Tables("统计表")

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/13 19:03:00 [显示全部帖子]

以下是引用紫色幽魂在2017/3/13 18:06:00的发言:
因为用的是关联表,根据主表自动加载的,所以不会全部加载进来,这样还可以吗,还有什么方法能实现这个效果

 

如果循环用sqlCompute,效率会很低的。

 

建议你重新把表数据全部加载进来,再统计,效率会高一些。

 

 


 回到顶部