Foxtable(狐表)用户栏目专家坐堂 → 统计的合计值怎么写入另外一个表


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

主题:统计的合计值怎么写入另外一个表

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/3/25 16:51:00 [显示全部帖子]

以下是引用有点甜在2015/3/25 16:10:00的发言:

Datacolchanged事件代码

 

If e.DataCol.Name = "保洁员" Then
    Dim cns() As String = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"}
    If e.NewValue = Nothing Then
        For Each cn As String In cns
            e.DataRow(cn) = Nothing
        Next
    Else
        Dim filter As String = "(保洁员 = '"  & e.DataRow("保洁员") & "' or 保洁员 like '%," & e.DataRow("保洁员") & "' or 保洁员 like '%," & e.DataRow("保洁员") & ",%' or 保洁员 like '" & e.DataRow("保洁员") & ",%')"
        For i As Integer = 0 To cns.Length - 1
            Dim d As Date = new Date(Date.Today.Year, i+1, 1)
            e.DataRow(cns(i)) = DataTables("派工表").compute("sum(人均价)", filter & " and 日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#")
        Next
    End If
End If

TIANTIAN,恩,必须要按一下 reload 列,才可以刷新数据。我看了统计演示.table,能实时统计,有新数据了,就可以马上统计出来,很高级。 他是写在maintablechanged事件中的,


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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/3/25 18:36:00 [显示全部帖子]

搞定。。。。。。。。。

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/4/10 13:58:00 [显示全部帖子]

基于25楼的代码,再改进一下,成下图这样的统计

图片点击可在新窗口打开查看此主题相关图片如下:1qq图片20150410135325.png
图片点击可在新窗口打开查看

家数就是统计这个保洁员在此月出现的次数


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


怎么修改一下呢?

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/4/10 14:02:00 [显示全部帖子]

我还差这一步就完成了,马上试用期就到了,就要买密狗了,FOXTABLE还可以,正是我想要的

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/4/10 14:08:00 [显示全部帖子]

以前是这样的统计:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150410140610.png
图片点击可在新窗口打开查看

现在是这样的统计:

图片点击可在新窗口打开查看

改成 compute("Count(*)",没解决问题, BIN


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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/4/10 14:10:00 [显示全部帖子]

我看了你们的 统计演示.table,代码为:

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("学生成绩")
If e.DataCol.Name = "科目" And dr.IsNull("科目") = False Then
    dr("最高分") = dt.Compute("Max("  & dr("科目") & ")")
    dr("最低分") = dt.Compute("Min("  & dr("科目") & ")")
    dr("平均分") = dt.Compute("Avg("  & dr("科目") & ")")
    dr("分布_60分以下") = dt.Compute("Count(姓名)", dr("科目") & " < 60")
    dr("分布_60分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 60 And " & dr("科目") & " < 70" )
    dr("分布_70分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 70 And " & dr("科目") & " < 80" )
    dr("分布_80分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 80 And " & dr("科目") & " < 90" )
    dr("分布_90分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 90 And " & dr("科目") & " < 100" )
    dr("分布_100分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 100 And " & dr("科目") & " < 110" )
    dr("分布_110分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 110 And " & dr("科目") & " < 120" )
    dr("分布_120分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 120 And " & dr("科目") & " < 130" )
    dr("分布_130分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 130" )
End If

图片点击可在新窗口打开查看此主题相关图片如下:3035.png
图片点击可在新窗口打开查看




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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/4/10 14:19:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:表,保洁员产值, DataColChanged
详细错误信息:
调用的目标发生了异常。
聚合参数中的语法错误: 需要具有可能的“Child”限定符的单个列参数。

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/4/10 14:30:00 [显示全部帖子]

bin老师, 在28楼的 例子 里,谢谢

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/4/10 14:37:00 [显示全部帖子]

我改成这样的: 

If e.DataCol.Name = "保洁员" Then
    Dim cns() As String = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"}
    Dim cns1 () As String = {  "一月_家数","二月_家数","三月_家数","四月_家数","五月_家数","六月_家数","七月_家数","八月_家数", "十月_家数","十一月_家数","十二月_家数" }
    Dim cns2 () As String = {  "一月_业绩","二月_业绩","三月_业绩","四月_业绩","五月_业绩","六月_业绩","七月_业绩","八月_业绩", "十月_业绩","十一月_业绩","十二月_业绩" }
      If e.NewValue = Nothing Then
        For Each cn As String In cns
            e.DataRow(cn) = Nothing
        Next
    Else
        
        Dim filter As String = "(保洁员 = '"  & e.DataRow("保洁员") & "' or 保洁员 like '%," & e.DataRow("保洁员") & "' or 保洁员 like '%," & e.DataRow("保洁员") & ",%' or 保洁员 like '" & e.DataRow("保洁员") & ",%')"
        For i As Integer = 0 To cns.Length - 1
            Dim d As Date = new Date(Date.Today.Year, i+1, 1)
            e.DataRow(cns1(i)) = DataTables("派工表").compute("count(*)", filter & " and 日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#")
            e.DataRow(cns2(i)) = DataTables("派工表").compute("sum(人均价)", filter & " and 日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#")
        Next
    End If
End If

对不对?

 回到顶部
总数 20 上一页 1 2