但是如果我们的编号规则里有年份,当年份变更的时候希望编号重新开始,那么该如何设置默认值公式呢?比如我的编号是2003001、2003002……,当时间到2004年的时候,怎样实现新增记录的时候编号为2004001呢?
其实很简单,看下面这个例子:
egd文件下载打开后将系统时间的年份改为2006年,然后用CTRL+A来新增一行,就会发现编号从2006001开始了。其实,这个例子只用了一个默认值公式:If(Number(Format(today(),"yyyy"))-Number(Mid(Cell(Row-1,Col),0,4))=1,Format(today(),"yyyy")+"001",SerialNo(0))
其实公式的原理很简单:如果“当前年份-当前列上一行编号中的年份部分=1”时,编号就是“当年年份+001”,反之则延续上面的编号规则。
编后话:
用了这样的方法,对于管理有按年份编号需要的数据库系统将非常有利于数据的规则性,需要注意的就是应该保证机器系统时间的正确。