ASP+ACCESS自动编号(100分)
我想在录入数据中实现一个自动编号如下,用户登录后判断用户属性例如A和BA录入数据编号A0903001,A0903002....B录入数据编号B0903001,B09030...
我想在录入数据中实现一个自动编号如下,用户登录后判断用户属性例如A和B
A录入数据编号 A0903001,A0903002....
B录入数据编号 B0903001,B0903002....属性+年+月+流水号
求解决方法,如果有代码演示更好了,不胜感激 展开
A录入数据编号 A0903001,A0903002....
B录入数据编号 B0903001,B0903002....属性+年+月+流水号
求解决方法,如果有代码演示更好了,不胜感激 展开
4个回答
展开全部
如果3月 插入数据 数据编号为 A0903001,A0903002......
如果3月 插入数据 数据编号为 A0904001,A0904002......
不知道你是不是这个意思
这是我写的段代码 (我运行了是可以的)
isnull 在 Access 中是不行的
------------------------------------------------
假设用户属性放在session("userType"),表名是a,自动编号的字段为autoID
session("userType") = "A" '用户属性 A 或 B
dim conn,connStr
connStr = "provider=Microsoft.jet.oledb.4.0;data source=" & server.MapPath("a.mdb")
set conn = server.CreateObject("ADODB.Connection")
conn.open connStr
function getDateStr() '返回 年,月 格式:yymm
dim yy,mm
yy = right(year(date()),2)
mm = month(date())
if len(mm) = 1 then mm = "0" & mm
getDateStr = yy & mm
end function
dim rs,sql,maxID
sql = "select top 1 autoID from a where autoID like '" &session("userType")&getDateStr() & "%' order by autoID desc"
set rs = conn.execute(sql)
if not rs.eof then
newID = right(rs("autoID"),3)+1
if len(newID) = 1 then
newID = "00" & newID
elseif len(newID) = 2 then
newID = "0" & newID
end if
newID = session("userType")&getDateStr()&newID
else
newID = session("userType")&getDateStr()&"001"
end if
response.Write newID
如果3月 插入数据 数据编号为 A0904001,A0904002......
不知道你是不是这个意思
这是我写的段代码 (我运行了是可以的)
isnull 在 Access 中是不行的
------------------------------------------------
假设用户属性放在session("userType"),表名是a,自动编号的字段为autoID
session("userType") = "A" '用户属性 A 或 B
dim conn,connStr
connStr = "provider=Microsoft.jet.oledb.4.0;data source=" & server.MapPath("a.mdb")
set conn = server.CreateObject("ADODB.Connection")
conn.open connStr
function getDateStr() '返回 年,月 格式:yymm
dim yy,mm
yy = right(year(date()),2)
mm = month(date())
if len(mm) = 1 then mm = "0" & mm
getDateStr = yy & mm
end function
dim rs,sql,maxID
sql = "select top 1 autoID from a where autoID like '" &session("userType")&getDateStr() & "%' order by autoID desc"
set rs = conn.execute(sql)
if not rs.eof then
newID = right(rs("autoID"),3)+1
if len(newID) = 1 then
newID = "00" & newID
elseif len(newID) = 2 then
newID = "0" & newID
end if
newID = session("userType")&getDateStr()&newID
else
newID = session("userType")&getDateStr()&"001"
end if
response.Write newID
展开全部
假设用户属性放在Session("UserType"),表名是data_tbl,自动编号的字段为AutoID。
下面的代码中Conn是已经打开的Adodb.Connection
Function GetNewID()
idx=1
y=right(CStr(Year(Date())),2)
m=Month(Date())
if len(m)=1 then m="0" & m
d=Day(Date())
if len(d)=1 then d="0" & d
NewID=Session("UserType") & y & m & d
s="select IsNull(Max(AutoID),'-1') As MaxAutoID from Data_tbl where AutoID like '"&NewID&"%'"
set r=conn.execute(s)
if not r.eof then
MaxAutoID=R("MaxAutoID")
if MaxAutoID<>"-1" then
MaxAutoID=Right(MaxAutoID,3)
idx=cint(MaxAutoID)+1
end if
end if
NewID=NewID & String(3-len(idx),"0") & idx
GetNewID=NewID
r.close
set r=nothing
end Function
下面的代码中Conn是已经打开的Adodb.Connection
Function GetNewID()
idx=1
y=right(CStr(Year(Date())),2)
m=Month(Date())
if len(m)=1 then m="0" & m
d=Day(Date())
if len(d)=1 then d="0" & d
NewID=Session("UserType") & y & m & d
s="select IsNull(Max(AutoID),'-1') As MaxAutoID from Data_tbl where AutoID like '"&NewID&"%'"
set r=conn.execute(s)
if not r.eof then
MaxAutoID=R("MaxAutoID")
if MaxAutoID<>"-1" then
MaxAutoID=Right(MaxAutoID,3)
idx=cint(MaxAutoID)+1
end if
end if
NewID=NewID & String(3-len(idx),"0") & idx
GetNewID=NewID
r.close
set r=nothing
end Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'判断用户编号
yhbh="A"
'判断当前用户的数量,得到流水号
sql="select count(用户编号) from 表名 where 用户编号 like '"&yhbh&"%'"
rs.open sql,conn,1,1
if rs.recordcount = 0 then
lsh= 1
else
lsh=rs(0)+1
end if
rs.close
'生成编号,判断出来的用户编号+2位年号,2位月号,3位流水号
yhbh=cstr(yhbh) + cstr( RIGHT("00"+Trim(Year(dDate)),2)+RIGHT("00"+Trim(Month(dDate)),2)+RIGHT("000"+lsh,3)
yhbh="A"
'判断当前用户的数量,得到流水号
sql="select count(用户编号) from 表名 where 用户编号 like '"&yhbh&"%'"
rs.open sql,conn,1,1
if rs.recordcount = 0 then
lsh= 1
else
lsh=rs(0)+1
end if
rs.close
'生成编号,判断出来的用户编号+2位年号,2位月号,3位流水号
yhbh=cstr(yhbh) + cstr( RIGHT("00"+Trim(Year(dDate)),2)+RIGHT("00"+Trim(Month(dDate)),2)+RIGHT("000"+lsh,3)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是想实现这样一个功能吗?看我表述准确否
假设用户名为A,那么它执行完某种任务后后在数据库中生成一条记录,我们假设叫这个字段名为number它的值为A0903001。当A再次执行完某种任务后,number的值自动增加1,现在为A0903002。用户B同理实现上述功能
是想实现这样一个功能吗?
比较简单,如果是,我下午来解答。
假设用户名为A,那么它执行完某种任务后后在数据库中生成一条记录,我们假设叫这个字段名为number它的值为A0903001。当A再次执行完某种任务后,number的值自动增加1,现在为A0903002。用户B同理实现上述功能
是想实现这样一个功能吗?
比较简单,如果是,我下午来解答。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询