Foxtable(狐表)用户栏目专家坐堂 → 如何用一列显示某列内容出现的次数?


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

主题:如何用一列显示某列内容出现的次数?

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


加好友 发短信
等级:五尾狐 帖子:1019 积分:7155 威望:0 精华:0 注册:2008/9/1 22:34:00
如何用一列显示某列内容出现的次数?  发帖心情 Post By:2010/5/13 19:58:00 [显示全部帖子]

Select e.Col.name
    Case "第一列"
        e.Row("第二列") =Format(e.Table.Compute("Count(第一列)","[第一列] = '" & e.Row("第一列")  & "'"),"000")
End Select

  我用在AfterEdit设置上面的代码,虽然按重置不会重新计算,但当再次编辑第一列时第二列的内容还会计算,我想无论什么情况下第二列都只是显第一列出现的次序,用来编码,不知道有什么方法可以实现,以前在易表就用一个函数countif就搞定了。


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


加好友 发短信
等级:五尾狐 帖子:1019 积分:7155 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/5/13 21:29:00 [显示全部帖子]

早已试过了,不行的,或者再加上一个条件语句判断才可以吧


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


加好友 发短信
等级:五尾狐 帖子:1019 积分:7155 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/5/13 22:49:00 [显示全部帖子]

如果选择第一列,再点重置列那些数就会变了,或双击一下第一列相应的数值也会变的。变后就不是我所想要的数了。

[此贴子已经被作者于2010-5-13 22:50:06编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1019 积分:7155 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/5/14 8:55:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-5-13 22:59:00的发言:
If e.DataCol.Name = "第一列" AndAlso e.dataRow.IsNull("第二列") Then
    e.dataRow("第二列") =Format(Tables("test").Compute("Count(第一列)","[第一列] = '" & e.dataRow("第一列")  & "'"),"000")
end if

这个方法是可以解决重置列的问题,但还有另一个问题不知如何解决,如果需要就第一列的内容进行修正,比如原来的值是张三,现在新的值是李四,那么按这个做法,第二列的内容还是原来的编号,不会自动更新。

[此贴子已经被作者于2010-5-14 8:57:18编辑过]

 回到顶部