vb do loop双循环语句

尝试用两个DO LOOP语句对两个DATAGRID表格中的某列数据进行对比,编写程序如下:
Do While Not Adodc1.Recordset.EOF 'Dtatgrid1 从开始一直到结尾
Text1.Text = 0 Text2.Text = 0 Text1.Text = Adodc1.Recordset.Fields("工程号") Do While Not Adodc2.Recordset.EOF 'Dtatgrid2 从开始一直到结尾,
Text2.Text = Adodc2.Recordset.Fields("工程号") If Adodc2.Recordset.Fields("工程号") = Adodc1.Recordset.Fields("工程号") Then Print "匹配成功"; Text1.Text; Text2.Text Exit SubElse Print "匹配不成功"; Text1.Text; Text2.Text End If Adodc2.Recordset.MoveNext Loop Adodc1.Recordset.MoveNext Print "发生了?"Loop
------------------------
运行结果,只能进行当匹配不成功后,将不再运行IF语句了,请教各位。结果如图

第1个回答  2015-05-04
Do While Not Adodc1.Recordset.EOF and not Adodc2.Recordset.EOF
'Dtatgrid1 从开始一直到结尾
Text1.Text = Adodc1.Recordset.Fields("工程号")
Text2.Text = Adodc2.Recordset.Fields("工程号")

If Adodc2.Recordset.Fields("工程号") = Adodc1.Recordset.Fields("工程号") Then
Print "匹配成功"; Text1.Text; Text2.Text
Else
Print "匹配不成功"; Text1.Text; Text2.Text
End If
Adodc2.Recordset.MoveNext
Adodc1.Recordset.MoveNext
Loop
'这样不知符合你的要求吗?追问

不是这样的,我需要第二个表格中的每一条与第一个表格的第一条进行逐项对比,如匹配,则进行第二个表格的每一条与第一个表格第二条逐项对比。你的这种方法是每一项仅进行一些次对比。无用啊!

追答

注意第二个表格的记录指针对比完后要重新指向最前面

追问

非常感谢!!原程序就是少了Adodc2.Recordset.MoveFIRST,晕!

本回答被提问者采纳

vb do loop双循环语句
Adodc1.Recordset.MoveNext Loop '这样不知符合你的要求吗?

vb do loop双循环语句
Do While Not Adodc1.Recordset.EOF and not Adodc2.Recordset.EOF 'Dtatgrid1 从开始一直到结尾 Text1.Text = Adodc1.Recordset.Fields("工程号")Text2.Text = Adodc2.Recordset.Fields("工程号")If Adodc2.Recordset.Fields("工程号") = Adodc1.Recordset.Fields("工程号") Then Pri...

vb关于do..loop的循环
Dim a As Integer, b As Integer, i As Integer a = Val(InputBox("起始值"))i = Val(InputBox("终止值"))Do While a < i a = a + 1 b = b + a Loop document.write b 原因是它们都是字符型的。

用VB的do...loop循环写语句!!!急!!!求大神!!!
y As Long, c As Double'第一题 For i = 1 To 100 If i Mod 2 = 0 Then x = x + i End If Next ' MsgBox "1到100中偶数的和是:" & x'第二题 x = 0 For i = 1 To 1000 If i Mod 10 = 0 Then x = x + i End If Next ...

VB循环结构DO??LOOP的作用是什么?
exit do ‘如果大于20,则跳出循环(exit do)end if '不是,则绕出判断语句,继续执行循环 loop ’循环往复 Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。是一种...

vb do loop 语句
i as integer '定义变量 a = val(text1.text)'把text1由字符串转成数值后赋值给变量a b = val(text2.text)'同上 s = 0 's的值归零 i = a '把a的值赋值给变量i do while i <= b '当i<=b的时候做循环 s = s + i '把i的值累加到s上 i = i + 1 'i增加1 loop '循环...

VB里 do loop的循环怎么用啊 能不能帮忙举一个典型的例子?
sub tt()i%=1 do while i<10 msgbox "No. " & i i=i+1 loop

VB中的Do...Loop语句怎么使用?
Do [{While | Until} condition][statements][Exit Do][statements]Loop Do...Loop 语句示例 本示例示范如何使用 Do...Loop 语句。内层的 Do...Loop 语句循环到第 10 次时将标志值设置为 False,并用 Exit Do 语句强制退出内层循环。外层循环则在检查到标志值为 False 时,马上退出。Dim Check...

VB中的do while loop语句
Exit Do 语句,随时跳出Do...Loop 循环。Exit Do 通常用于条件判断之后,例如If Then,在这种情况下,Exit Do 语句将控制权转移到紧接在 Loop 命令之后的语句。如果 Exit Do 使用在嵌套的Do…Loop 语句中,则 Exit Do 会将控制权转移到 Exit Do 所在位置的外层循环。

“vb”中“do”、“until”、“loop”的用法是什么?
Do循环由Do和Loop构成,但如果只有Do和Loop的话将不停地执行Do和Loop之间的语句块,所以需要使用可选的关键字While或Until以及Eixt Do来指定循环的条件以及退出循环.\\x0d\\x0a关键字While是指当条件为True时执行循环,而Until则是在条件变为True之前重复,就你的例子来说,用关键字Until给出了X=-1这个...

相似回答