asp 自动编号不会自动+1了

做一个ASP的级联,下拉菜单点击不同的地区,就显示不同的自动编号,但是为什么<optionvalue="<%=cgid%>">汕头</option>时候,就可以自动编号+... 做一个ASP的级联,下拉菜单点击不同的地区,就显示不同的自动编号,但是为什么<option value="<%=cgid%>">汕头</option> 时候,就可以自动编号+1.。。。而 <option value="51<%=cgid%>">汕头</option>在前面加数字的时候,他就不会+1了,麻烦高手帮我看看。。。谢谢
<%
set rs=server.CreateObject("adodb.recordset")
'锁定指定记录通过with(updlock)完成。
sql="select id from baogao with(updlock) "
rs.open sql,conn,1,3
'将日期转换为YYYYMMDD格式的字符串
if len(month(date()))=1 then
cmonth="0"& cstr(month(date()))
else
cmonth=cstr(month(date()))
end if
if len(day(date()))=1 then
cday="0"& cstr(day(date()))
else
cday=cstr(day(date()))
end if
if not rs.eof then
set rs_M=server.CreateObject("adodb.recordset")
sql="select max(bh) as id from baogao"
rs_M.open sql,conn,1,3
str=rs_M("id")
no=cstr(int(mid(str,11,5))+1)
select case len(no)
case 1
cno="0000"+no
case 2
cno="000"+no
case 3
cno="00"+no
case 4
cno="0"+no
case 5
cno=no
case else
cno="00001"
end select
intno="ST"&cstr(year(date()))&cmonth&cday&cno '组成新的数据编号
cgid=intno
end if
%>
项目编号:

<label for="bh2"></label>
<input name="bh" type="text" id="bh2" value="" readonly="readonly"></th>
<th width="234" height="39" scope="col"><strong><div align="left"><div align="left">关联汇总:<label for="select"></label>
<select name="select" id="select" onChange="document.getElementsByName('bh')[0].value=this.value">
<option value=<%=rs("typename")%>><%=rs("typename")%></option>
<option value="51<%=cgid%>">汕头</option>
<option value="52<%=cgid%>">广州</option>
</select>
<strong> </strong></th>
展开
 我来答
网海1书生
科技发烧友

推荐于2016-02-16 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
intno="ST"&cstr(year(date()))&cmonth&cday&cno '组成新的数据编号

从上面这行可以看出,生成的编号是类似下面这样的:
ST2014121000001
也就是说从第11个字符开始到结尾的5个字符是编号,所以
no=cstr(int(mid(str,11,5))+1)

这个就是把编号重新取出来再加1
但是,你现在要在编号前加上51,就变成
51ST2014121000001
那么它的第11个字符开始到结尾的5个字符就不再是编号了!应该改为第13个字符开始到结尾的5个字符!即
no=cstr(int(mid(str,13,5))+1)

补充:在数字前面补零可以用更简单的方法,比如:
if len(month(date()))=1 then
cmonth="0"& cstr(month(date()))
else
cmonth=cstr(month(date()))
end if
可改为
cmonth=right("0" & month(date()),2)
再比如后面那个5位数的编号:
select case len(no)
case 1
cno="0000"+no
case 2
cno="000"+no
case 3
cno="00"+no
case 4
cno="0"+no
case 5
cno=no
case else
cno="00001"
end select
可改为
cno=right("0000" & no,5)
追问
谢谢您解释得如此纤细,但是依旧不能实现,是不是onChange="document.getElementsByName('bh')[0].value=this.value"代入的问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式