Foxtable(狐表)用户栏目专家坐堂 → [求助]怎么统计本行各符号的个数?


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

主题:[求助]怎么统计本行各符号的个数?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/29 15:22:00 [显示全部帖子]

If e.DataCol.name <> "圆圈" Then
    e.DataRow("圆圈")=0
    For i As Integer=0 To 6
        If e.DataRow(Tables("表C").Cols(i).Name)="圆" Then
            e.DataRow("圆圈")=e.DataRow("圆圈")+1
        End If
    Next
End If

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/30 16:51:00 [显示全部帖子]

If e.Col.name<>"项目_1" AndAlso e.Col.name<>"项目_2" AndAlso e.Col.name<>"项目_3" AndAlso e.Col.name<>"项目_出差" AndAlso e.Col.name<>"项目_休假" AndAlso e.Col.name<>"项目_事假" Then
Dim dic As new Dictionary(of String,Integer)
dic.Add("项目_1")
dic.Add("项目_2")
dic.Add("项目_3")
dic.Add("项目_事假")
dic.Add("项目_休假")
dic.Add("项目_出差")
For i As Integer = 3 To 33  '列范围 第一列为0
    If e.Row(i) = "1" Then
        dic("项目_1") + = 1
    ElseIf e.Row(i) = "2" Then
        dic("项目_2") + = 1
    ElseIf e.Row(i) = "3" Then
        dic("项目_3") + = 1
    ElseIf e.Row(i) = "○" Then
        dic("项目_事假") + = 1
    ElseIf e.Row(i) = "*" Then
        dic("项目_休假") + = 1
    ElseIf e.Row(i) = "√" Then
        dic("项目_出差") + = 1
    End If
Next
e.Row("项目_1")=dic("项目_1")
e.Row("项目_2")=dic("项目_2")
e.Row("项目_3")=dic("项目_3")
e.Row("项目_事假")=dic("项目_事假")
e.Row("项目_休假")=dic("项目_休假")
e.Row("项目_出差")=dic("项目_出差")
End If



突然发现前面的清0是没有意义的代码可以删掉!
[此贴子已经被作者于2013-5-30 16:57:25编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/30 16:52:00 [显示全部帖子]

试试效率如何 如果还是慢.我再修改一下.最后发例子出来 我能测试分析.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/30 16:59:00 [显示全部帖子]

你下面那一段是在同一个事件里的啊?参考相同的处理方式优化一下吧.应该有很大的提升

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/30 17:03:00 [显示全部帖子]

忘记了添加默认值了.  dic.Add("项目_1",0)  全部改这样即可

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/30 17:03:00 [显示全部帖子]

另外你下面那段的需求是什么.没必要三层循环的吧.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/30 17:18:00 [显示全部帖子]

我以为你下半段代码是另外一个表的.  你说下需求.应该没必要三层循环的.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/30 17:30:00 [显示全部帖子]

还是不明白你下半段代码的需求

 回到顶部