ASP+ACCESS自动编号(100分)

我想在录入数据中实现一个自动编号如下,用户登录后判断用户属性例如A和BA录入数据编号A0903001,A0903002....B录入数据编号B0903001,B09030... 我想在录入数据中实现一个自动编号如下,用户登录后判断用户属性例如A和B
A录入数据编号 A0903001,A0903002....
B录入数据编号 B0903001,B0903002....属性+年+月+流水号
求解决方法,如果有代码演示更好了,不胜感激
展开
 我来答
百度网友46e5256ad9
2009-03-13 · TA获得超过767个赞
知道小有建树答主
回答量:172
采纳率:100%
帮助的人:172万
展开全部
如果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
爱笑死人了
2009-03-13 · TA获得超过1296个赞
知道小有建树答主
回答量:657
采纳率:50%
帮助的人:284万
展开全部
假设用户属性放在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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lgclss
2009-03-13 · 超过100用户采纳过TA的回答
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:200万
展开全部
'判断用户编号
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)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
200410020305
2009-03-13
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
你是想实现这样一个功能吗?看我表述准确否
假设用户名为A,那么它执行完某种任务后后在数据库中生成一条记录,我们假设叫这个字段名为number它的值为A0903001。当A再次执行完某种任务后,number的值自动增加1,现在为A0903002。用户B同理实现上述功能
是想实现这样一个功能吗?
比较简单,如果是,我下午来解答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式