遇到一个问题,如何在填报的时候根据填报内容生成一个流水号,之前的数据来源是4行的纸质文件(内容数不定 1~4均有),需要录入数据库,样式大致如下,每张都有一个地区码,然后要填的就是流水号,格式是:三位地区码+HTT+流水号
现在在用Excel+VBA来生成流水号,统计已有的三字码,+1生成一个流水号
如何在填报地区的时候生成这样的流水号,并且显示出来
地区会重复么 不会重复的话 地区为主键 一个地区为一个流水号 加一个地区就数据库最大值+1就好了
写个数据集ds1
SELECT
right(max(流水号字段),3) as max
FROM
表
然后流水号写单元格写公式
CONCATENATE("地区码","HTT",FORMAT(ds1.select(max)+1 , "000"))
用公式就行
CONCATENATE(地区码, right(CONCATENATE("00", seq()), 3))
下面是我的例子,ID规则是SO开头+8位日期+4位流水
在A1单元格用sql取出当前日期的ID最大值,
然后在N2单元格里填入公式=seq()计算出序号,
然后在ID单元格里填入下面的公式
=if(len(A1)==0,"SO" + format(today(), "yyyyMMdd")+right(CONCATENATE("000", N2), 4),left(A1,10)+right(CONCATENATE("000", TOINTEGER(right(O1,4))+N2), 4))