高手帮忙修改一下这段asp取access数据的代码

access数据库结构goodidhuohaoshuliangchima1234563512345613512345636123456236123456371234561... access数据库结构

goodid huohao shuliang chima
12345635 123456 1 35
12345636 123456 2 36
12345637 123456 1 37
12345638 123456 1 38
12345639 123456 1 39
45678933 456789 2 33
45678934 456789 1 34
45678935 456789 1 35

asp希望显示的样式

货号 33码 34码 35码 36码 37码 38码 39码
123456 1 2 1 1 1
456789 2 1 1问题补充:

实际显示的效果:(没有读取到数据库中的尺码放在对应的地方)

货号 33码 34码 35码 36码 37码 38码 39码
123456
456789

问题代码如下:(重点看看huohao字段关联的尺码数量部分)

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">货号</td>
<%set rs1=server.createobject("adodb.recordset")
rs1.open"select distinct chima from spxx",conn,1,1
if not rs1.eof then
do while not rs1.eof
chima=rs1("chima")
%>
<td align="center"><%=chima%>码</td>
<%rs1.movenext
loop
end if
%>
</tr>
<%set rs2=server.createobject("adodb.recordset")
rs2.open"select distinct huohao from spxx",conn,1,1
if not rs2.eof then
do while not rs2.eof
%>
<tr>
<td align="center"><%=rs2("huohao")%></td>
<%do while not rs1.eof
chima=rs1("chima")
set rs3=server.createobject("adodb.recordset")
rs3.open"select * from spxx where chima="&chima,conn,1,1
if not rs3.eof then
do while not rs3.eof
%>
<td align="center"><%=rs3("shuliang")%></td>
<%
rs3.movenext
loop
end if
rs3.close
rs1.movenext
loop%>
</tr>
<%
rs2.movenext
loop
end if
rs2.close
%>
</table>

请高手帮忙修改一下,谢谢
各字段的属性均为文本格式代码流程:
用distinct取出表中的唯一的货号,然后以货号查询尺码,再以尺码查询数量,,以货号做 tr 循环,以尺码作 td 的循环。
请问这段代码哪个环节出了错?
展开
 我来答
手机用户30358
2011-09-16 · TA获得超过420个赞
知道小有建树答主
回答量:725
采纳率:75%
帮助的人:453万
展开全部
<%
'连接数据库略
set rs = conn.execute("select FLD_NAME,FLD_ITEM from TBL_Char where FLD_ITEM='"&Request("str输入的文字Name")&"'")
do while not rs.eof
strname = rs("FLD_NAME")
stritem = rs("FLD_ITEM")
strsql = "update TBL_Char with (UPDLOCK) set FLD_ITEM='" & cvt(stritem) & "' where FLD_NAME='" & strname & "'"
conn.execute strsql
rs.movenext
loop
rs.close

'下面是cvt函数
function cvt(strnum)
if len(strnum) >= 34 then
sn = mid(strnum, 33, 2)
sn = hex(eval("&H" & sn) + 1)
sn = right("00" & sn, 2)
cvt = left(strnum, 32) & sn & right(strnum, len(strnum) - 34)
end if
end function
%>
追问
对不起,我没有明白您给的代码的意思,您能把您给的代码加入到我本来的代码中,让其能实现我想要的功能吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c1450d4
2011-09-18
知道答主
回答量:97
采纳率:0%
帮助的人:11.4万
展开全部
function cvt(strnum)
if len(strnum) >= 34 then
sn = mid(strnum, 33, 2)
sn = hex(eval("&H" & sn) + 1)
sn = right("00" & sn, 2)
cvt = left(strnum, 32) & sn & right(strnum, len(strnum) - 34)
end if
end function
%>
追问
对不起,我没有明白您给的代码的意思,您能把您给的代码加入到我本来的代码中,让其能实现我想要的功能吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式