以文本方式查看主题

-  易表在线答疑  (http://egrid2000.com/dvbbs/index.asp)
--  用户社区  (http://egrid2000.com/dvbbs/list.asp?boardid=2)
----  关于刷新公式的求教  (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=19032)

--  作者:suyuan
--  发布时间:2010/2/22 22:18:00
--  关于刷新公式的求教
我有个表以档案编号为序号排列,编号的组成为“客户经理+年月+序号”,编号的刷新格式为每个客户经理每个月各自编号,下个月重新编号。编号的示例:11040901001,即客户经理1104的09年1月第一个档案。
刷新公式为:If([客户经理]="","",Concat([客户经理],[k],Right("00"+Text(CountFor(Grid,"客户经理","=",[客户经理],"k","=",[k],1,Row)),3)))

现在有一要求是,编号完成后,即锁定不能修改,就算是客户经理变为其他人,编号不变。
版主给了我一个公式:
If([客户经理]="","",If([档案编号]="",Concat([客户经理],[k],Right("00"+Text(CountFor(Grid,"客户经理","=",[客户经理],"k","=",[k],1,Row)),3)),[档案编号]))

使用这个公式后,虽然达到了这个效果,但又出了一个问题,即新增记录时,无法自动编号。编号变为1104001,即客户经理+序号。尝试过几种方法仍无法解决,故向大家求教。egd文件下载


--  作者:wjq1072
--  发布时间:2010/2/23 10:51:00
--  
egd文件下载
--  作者:suyuan
--  发布时间:2010/2/23 19:11:00
--  
突然想到,现在的编号方式是统计客户经理当月所有档案记录,再编号,但如果有一个记录被删除,如果新增一个记录就会导致编号重复。能不能用以下方法?找到客户经理当月最后一个档案记录,然后加此基础上加1,来编号?我用过SUM,不过公式都不大对。应该怎么编?

-=-=-=- 以下内容由 suyuan2010年02月23日 07:14pm 时添加 -=-=-=-
我编了这样一个公式,但没有效果。
If([p]="","",If([档案编号]="",Concat([p],[k],Right("00"+Text(SUM(FindText(Grid,[档案编号],"客户经理","=",[客户经理],"k","=",[k],-2))),3)),[档案编号]))

-=-=-=- 以下内容由 suyuan2010年02月23日 07:15pm 时添加 -=-=-=-
我编了这样一个公式,但没有效果。
If([p]="","",If([档案编号]="",Concat([p],[k],Right("00"+Text(SUM(FindText(Grid,[档案编号],"客户经理","=",[客户经理],"k","=",[k],-2),1)),3)),[档案编号]))
--  作者:wjq1072
--  发布时间:2010/2/23 20:37:00
--  
egd文件下载
--  作者:suyuan
--  发布时间:2010/2/23 21:35:00
--  
谢谢版主了