今天看到一個朋友在貼吧中發的一個貼子,要求以日期為自動編號的ID,效果是:“2008年1月份,編號從200801001開始編,第二條則是200801002,如此類推,到2008年02月份時就變成200802001開始編號”。我將代碼放在這裡,與大家共享。
我的解決方法:采用數字型字段,每次添加這個字段
代碼:
ttt是表名,db2是數據庫名
id(數字型字段),title為標題(文本型字段)
conn.ASP
< %
set rs=server.CreateObject("adodb.recordset")
db="database/db2.mdb"
set conn=server.CreateObject("adodb.connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
conn.open connstr
%>
添加文件
<!--#include file="conn.ASP"-->
< %
'功能:實現以日期為編號的ID字段
'來源:www.ASPprogram.cn
'開發:wangsdong
'原創文章,轉載請保留此信息。
add=request("add")
If add="" Then
%>
<form name="form1" method="post" action="?add=save">
標題:<input type="text" name="title"> <input type="submit" value="提交">
</form>
<%
Else
y=Year(Now())
m=Right("0"&Month(Now()),2)
cid=y&m
title=request("title")
sql="select top 1 id from ttt order by id desc"
rs.open sql,conn,1,1
If rs.eof Then
cid=cid&"01"
Else
Lid=rs("id")
If cid=Left(lid,6) Then
cid=CLng(lid)+1
Else
cid=cid&"01"
End if
End If
rs.close
sql="insert into ttt(id,title) values("&cid&",'"&title&"')"
rs.open sql,conn,1,3
response.write "添加成功<br><a href=""?"">繼續添加</a>"
End If
Set rs=Nothing
Set conn=Nothing
% >