如自动生成一个流水号码,~
根本日期,~年月日 然后加上一个四位的随机数,最前加個區別碼(比方說A)
舉個例:A 2005 12 27 0001
誰能告訴我相應人代碼嗎?謝謝了!
[此贴子已经被作者于2005-12-27 10:30:04编辑过]
如自动生成一个流水号码,~
根本日期,~年月日 然后加上一个四位的随机数,最前加個區別碼(比方說A)
舉個例:A 2005 12 27 0001
誰能告訴我相應人代碼嗎?謝謝了!
[此贴子已经被作者于2005-12-27 10:30:04编辑过]
正如這個所說的,我正要的是這種效果!
<%
ranNum=int(99*rnd)+100
iddata="A"&year(now)&month(now)&day(now)&ranNum
%>
然后調用 iddata 得到的數字是隨機的,要怎么改才能使從 A 2005 12 27 001 開始?
幫我想想辦法?謝謝大家了!
[此贴子已经被作者于2005-12-27 11:41:08编辑过]
我认为后面的序号可以用一个变量来完成。
sub button1_click(sender as object,e as eventargs)
dim n as integer:dim str1,str2 as string
str1="":str2=""
if n="" then
n=1001
else
n+=1
end if
str1=right(cstr(n),len(cstr(n)-1)
str2="A" & year(now) & month(now) & day(now) & str1
end sub
str2 就是所要的编码,后面的序号就是001,002,003....
如果怕屏幕 关掉失去变量,也可以用APPLICATION来完成变量,或者用数据库了。
读取系统时间编制成前八位编号:
stra=trim(year(date()))&trim(String(2-len(right(month(date()),2)), "0")&right(month(date()),2))&trim(String(2-len(right(day(date()),2)), "0")&right(day(date()),2))
再查询数据库中是否有前八位与上面编号相同的,
rs.Open "select * from [tablename] where left([fieldname],6)='"&stra&"' order by [fieldname] desc",conn,1,3
如果没有记录,即rs.recordcount=0,则后四位为intstr="0001",否则用
intstr=right(rs("[fieldname]"),4)
intstr=cint(intstr)+1
上面这一步先要找出最大的值,也是用先个他转换成INT型来进行比较获得的,
最后根据intstr的位数在前面补上0,intstr是一位则补三个0,依次类推,让intstr够四位!
最后得到的编号就是 IDNO=stra&intstr
[此贴子已经被作者于2005-12-27 13:34:26编辑过]