关于序号的自动生成 (150分)

  • 主题发起人 主题发起人 smartcn
  • 开始时间 开始时间
S

smartcn

Unregistered / Unconfirmed
GUEST, unregistred user!
请问在ASP中如何自动生成如下形式的序号:
AZ20030715-0001
AZ20030715-0002
AZ20030715-0003
...............
AZ20030716-0001
AZ20030716-0002
AZ20030716-0003
即字母 AZ + 年月日 + 自动编号
日期为当天的,每天由0001开始编号
各位帮个忙,我很菜:)
给出代码的加50分
 
写错了。。。。。。。。。
 
VBS的实现方法:
你要的string="AZ" &
Year(Date) &
Month(Date) &
Day(Date) &
自动编号
 
给个函数你看:我们的单号前是没有AZ的,你自己改改吧!
function Tform_input_xssk.f_get_bh(strdate:string):STRING;
var i : integer;
begin
//得到最大的单号
ADOQuery3.Close;
ADOQuery3.SQL.Text := 'select max(t1601) as bh from t16 where left(t1601,8)='''+strdate+'''';
ADOQuery3.Open;
strdate:=strdate+'-' ;
//取年2位的日期格式,在其后加'-'
if ADOQuery3.fieldbyname('bh').AsString='' then
//当天没有单子赋001
f_get_bh := strdate+'001'
else
begin
//加一
i := strtoint(copy(ADOQuery3.fieldbyname('bh').AsString,10,3))+1;
if i<10 then
f_get_bh := strdate+'00'+inttostr(i);
if (i<100) and (i>9) then
f_get_bh := strdate+'0'+inttostr(i);
if i>99 then
f_get_bh := strdate+inttostr(i);
end;
end;
 
wujer大哥的思路不错
可惜不是ASP程序,我试试看
 
大家帮忙吧
分不够可以加[:D]
 
我自己写好啦,共享一下:)
Function AutoNum(NumStr,types,lens)
dim adddate,i,Str
i=1
adddate=date()
if len(NumStr)=0 then
while i<lens
Str=Str&amp;"0"
i=i+1
wend
AutoNum=types&amp;year(adddate)&amp;formatdate(month(adddate))&amp;formatdate(day(adddate))&amp;"-"&amp;Str&amp;"1"
else
dim BH,LenStr,LenNum,Num,ONum
BH=right(Numstr,lens)
Num=int(BH)
LenStr=len(BH)
LenNum=len(Num)
ONum=LenStr-LenNum
if (Num mod 10)=9 then
ONum=ONum-1
end if
while i<=ONum
Str=Str&amp;"0"
i=i+1
wend
AutoNum=types&amp;year(adddate)&amp;formatdate(month(adddate))&amp;formatdate(day(adddate))&amp;"-"&amp;Str&amp;(Num+1)
end if
End Function
function formatdate(fmdate)
if len(fmdate)=1 then
formatdate="0"&amp;fmdate
else
formatdate=fmdate
end if
end function
 
多人接受答案了。
 
后退
顶部