以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]编号重复数量统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154291)

--  作者:miaoqingqing
--  发布时间:2020/9/10 10:44:00
--  [求助]编号重复数量统计
编号  编号重复次数
001     3
001     3
001     3
002     2
002     2
003     1
求助,自动根据 编号列,相同编号数量,更新 编号重复次数

--  作者:有点蓝
--  发布时间:2020/9/10 11:14:00
--  
datacolchanged事件

if e.datacol.name = "编号"
e.datarow("编号重复次数") = e.datatable.comoute("count(编号)","编号=\'" & e.newvalue & "\'")
end if

--  作者:miaoqingqing
--  发布时间:2020/9/10 12:00:00
--  回复:(有点蓝)datacolchanged事件if e.datacol.nam...
版主,编号变化,或新增行录入之前存在的编号,上楼代码不能更新 之前旧 编号数据的  编号重复次数
求助,不用重置列,更新  编号重复次数。
重置列,速度慢,且可能忘记重置列了,编号重复次数,不准

--  作者:有点蓝
--  发布时间:2020/9/10 13:33:00
--  
if e.datacol.name = "编号"
e.datarow("编号重复次数") = e.datatable.comoute("count(编号)","编号=\'" & e.newvalue & "\'")
dim a as integer = e.datatable.comoute("count(编号)","编号=\'" & e.oldvalue & "\'")
e.datatable.replacefor("编号重复次数",a,"编号=\'" & e.oldvalue & "\'")
end if

旧数据重置一下列即可,新修改的数据会自动计算,不需要重置