实际操作中我们一般会将编号字段定义为文本型,因为编号不是序号,序号是一个递增数值,而编号往往是一个数字串代码。
1、怎么编号?
最简单的编号—>直接在编号字段使用字段计算器将FID字段值+1计算过来便是。
BH=[FID]+1
这应该只能叫做序号值,还不够,还有一个问题需要我们去解决,因为编号往往是一个数字代码,它一般是由区域代码或者类型标识码等(前缀)+固定位数序号组成的。
BH的固定位数序号如果是4位,那么全码应该是“前缀+0001”,“前缀+0002”……“前缀+0010”……“前缀+0100”……“前缀+9999”。
可以看出序号前面补的“0”位数是不一样的,可以通过下面的方式轻松实现。
BH="前缀" & left("0000",4-len( [FID]+1)) & ([FID] +1)
left("字符串",n)是从左侧开始截取字符串的指定前n位;len("字符串")是计算字符串长度。这个例子中序号部分长度为4,序号部分“0”的长度应该是4-序号值的长度,暂记为n,从“0000”左边开始截取n个0 拼接上序号值就是我们要的结果了。
有没有比较zhuangbility的操作?当然有的,比如下面可以smallzhuangbility一下的Python函数
rec=0 def autoIncrement(): global rec pStart = 1 #初始值 pInterval = 1 #间隔值 if (rec == 0): rec = pStart else: rec = rec + pInterval return rec
怎么调用翻看俺前边的帖子
autoIncrement()直接调用 (str(autoIncrement())).zfill(5) 固定位数为5,前边补0 autoIncrement()+1000 加起码1000
2、编号的修改