for next 嵌套循环的问题。。。
我有两个个表,一个名为“duty” ,一个名为“sale”
duty的内容如下
mduty vdate
A,B,C 2008-1-1
A 2008-1-3
B,C 2008-1-4
sale的内容如下
handle vdate vtime
880 2008-1-1 10:25:51
830 2008-1-1 10:52:23
468 2008-1-3 10:09:52
621 2008-1-3 10:11:33
然后我写了一段代码搜索,代码如下
<%
sub search()
set reco= Server.CreateObject("ADODB.Recordset")
reco.open "select * from duty",conn,1,1
For i=1 To reco.recordcount
id=reco("id")
mduty=reco("mduty")
vdate=reco("vdate")
A1=""
C1=""
D1=""
rmAhandle1=0
rmBhandle1=0
mduty= Split(mduty,Chr(44))
For j= LBound(mduty) To UBound(mduty)
Response.Write(mduty(j) & "<br>")
if mduty(j)="A" then
mdutyAperson=(len(reco("mduty"))+1)/2
set rmA1= Server.CreateObject("ADODB.Recordset")
rmA1.open "select * from sale where vdate=#"&vdate&"# and vtime between #9:30# and #12:30#",conn,1,1
for rmAi1=1 to rmA1.recordcount
if not rmA1.eof then
rmAhandle1=rmAhandle1+rmA1("handle")
end if
rmA1.movenext
next
end if
if mduty(j)="B" then
mdutyBperson=(len(reco("mduty"))+1)/2
set rmB1= Server.CreateObject("ADODB.Recordset")
rmB1.open "select * from sale where vdate=#"&vdate&"# and vtime between #9:30# and #12:30#",conn,1,1
for rmBi1=1 to rmB1.recordcount
if not rmB1.eof then
rmBhandle1=rmBhandle1+rmB1("handle")
end if
rmB1.movenext
next
end if
next
Response.Write (vdate & "<br>")
Response.Write (rmAhandle1 & " "&mdutyAperson & "<br>")
Response.Write (rmBhandle1 & " "&mdutyBperson & "<br>")
Response.Write "<br>"
reco.movenext
next
end sub
%>
搜索结果如下
A
B
C
2008-1-1
1710 3
1710 3
A
2008-1-3
1107 1
0 3
B
C
2008-1-4
0 1
0 2
问题:在代码中我只定义了当2008-1-1是搜索对了,但是2008-1-3的时候duty中的mduty没有B,但是怎么也出现了0 3?而且数字还和2008-1-1 的是一样的,2008-1-4也出现了这样的问题。
请大家帮忙看看是怎么回事呃!!!
谢谢啦!!!!
duty的内容如下
mduty vdate
A,B,C 2008-1-1
A 2008-1-3
B,C 2008-1-4
sale的内容如下
handle vdate vtime
880 2008-1-1 10:25:51
830 2008-1-1 10:52:23
468 2008-1-3 10:09:52
621 2008-1-3 10:11:33
然后我写了一段代码搜索,代码如下
<%
sub search()
set reco= Server.CreateObject("ADODB.Recordset")
reco.open "select * from duty",conn,1,1
For i=1 To reco.recordcount
id=reco("id")
mduty=reco("mduty")
vdate=reco("vdate")
A1=""
C1=""
D1=""
rmAhandle1=0
rmBhandle1=0
mduty= Split(mduty,Chr(44))
For j= LBound(mduty) To UBound(mduty)
Response.Write(mduty(j) & "<br>")
if mduty(j)="A" then
mdutyAperson=(len(reco("mduty"))+1)/2
set rmA1= Server.CreateObject("ADODB.Recordset")
rmA1.open "select * from sale where vdate=#"&vdate&"# and vtime between #9:30# and #12:30#",conn,1,1
for rmAi1=1 to rmA1.recordcount
if not rmA1.eof then
rmAhandle1=rmAhandle1+rmA1("handle")
end if
rmA1.movenext
next
end if
if mduty(j)="B" then
mdutyBperson=(len(reco("mduty"))+1)/2
set rmB1= Server.CreateObject("ADODB.Recordset")
rmB1.open "select * from sale where vdate=#"&vdate&"# and vtime between #9:30# and #12:30#",conn,1,1
for rmBi1=1 to rmB1.recordcount
if not rmB1.eof then
rmBhandle1=rmBhandle1+rmB1("handle")
end if
rmB1.movenext
next
end if
next
Response.Write (vdate & "<br>")
Response.Write (rmAhandle1 & " "&mdutyAperson & "<br>")
Response.Write (rmBhandle1 & " "&mdutyBperson & "<br>")
Response.Write "<br>"
reco.movenext
next
end sub
%>
搜索结果如下
A
B
C
2008-1-1
1710 3
1710 3
A
2008-1-3
1107 1
0 3
B
C
2008-1-4
0 1
0 2
问题:在代码中我只定义了当2008-1-1是搜索对了,但是2008-1-3的时候duty中的mduty没有B,但是怎么也出现了0 3?而且数字还和2008-1-1 的是一样的,2008-1-4也出现了这样的问题。
请大家帮忙看看是怎么回事呃!!!
谢谢啦!!!!
...全文
相关推荐
嵌套循环PPT学习教案.pptx
总结来说,嵌套循环在VB中是一种强大的工具,可以用来解决复杂的问题,如创建矩阵、绘制图形、处理多维度数据等。理解内外循环变量的作用和执行顺序是掌握嵌套循环的关键。
掌握VBA循环语句:Do...Until、For...Next及嵌套循环
本章节深入探讨了VBA中的循环控制结构,包括Do...Until语句的两种用法、计数器的使用以及For...Next语句的详细说明。还介绍了如何使用For Each...Next语句来遍历集合中的元素,以及如何提前退出循环和嵌套循环的使用。通过具体的示例,展示了如何在Microsoft Access中应用这些循环语句来执行重复的任务和管理数据。
掌握VBA循环控制:Do Until、For Next与嵌套循环
本文将探讨VBA编程中用于重复执行代码的控制结构,包括Do Until循环、For Next循环及其在Microsoft Access中的应用。通过实例分析,我们将学习如何使用这些循环语句来提高代码效率和处理复杂的数据操作。
Java使用嵌套循环模拟ATM机取款业务操作示例
一、嵌套循环的概念嵌套循环是指在循环体内部再次使用循环结构的编程技术。在Java中,我们可以使用for循环、while循环、do-while循环等来实现嵌套循环。
next grid for d7
Next Grid for D7作为替代品,引入了以下关键知识点:1.


