回 帖 发 新 帖 刷新版面

主题:一断程序不能执行,急用!

.........

TjXs += "其他信息:" + vbCrLf
Dim B1 As Boolean = False
If Trim(Me.ComboBox9.Text) <> "" And Trim(Me.ComboBox10.Text) <> "" Then
i = Me.ComboBox9.Items.Count - 1
For I1 = 0 To i Step 1
If Trim(Me.ComboBox9.Text) = Me.ComboBox9.Items.Item(I1) And Trim(Me.ComboBox10.Text) = Me.ComboBox10.Items.Item(I1) Then
B1 = True
Me.ComboBox9.Focus()
Exit Sub
End If
Next
End If

If B1 Then
For I1 = 0 To i Step 1
T = Trim(Me.ComboBox9.Items.Item(I1))
TjXs += " 名称:" + T + vbCrLf
T = Trim(Me.ComboBox10.Items.Item(I1))
TjXs += " 内容:" + T + vbCrLf
TjXs += vbCrLf
Next
Else
TjXs += " 名称:" + Trim(Me.ComboBox9.Text) + vbCrLf
TjXs += " 内容:" + Trim(Me.ComboBox10.Text) + vbCrLf
TjXs += vbCrLf
For I1 = 0 To i Step 1
T = Trim(Me.ComboBox9.Items.Item(I1))
TjXs += " 名称:" + T + vbCrLf
T = Trim(Me.ComboBox10.Items.Item(I1))
TjXs += " 内容:" + T + vbCrLf
TjXs += vbCrLf
Next
End If

TjXs += "其他信息:" + Me.TextBox2.Text + vbCrLf

 

.........



红色部分不能执行,即使用使B1=true 变量TjXs也没有变化,到这一步蓝色部分也不执行;

但是如果是B1=False 一切都没有问题。

回复列表 (共11个回复)

沙发

1:
Dim B1 As Boolean = False
这似乎不是vb6.0的句式?
2:
i的值决定B1为真时
For I1 = 0 To i Step 1
……
next I1
的循环体是否被执行。
3:
要学会使用断点和但不运行来检查程序的流程。
4:
要学会使用
debug.print
来检查程序过程的值的变化。

板凳


Where you can order new 2012 style [url=http://www.timberlandbootshiking.com/timberland-roll-top-boots-c-9.html]Timberland Roll Top Boots[/url] for men & women size.Why not come to our website.You can find more
[url=http://www.timberlandbootshiking.com/timberland-chukka-boots-c-6.html]Timberland Chukka Boots[/url] high quality,factory price.
If you are looking cheapest [url=http://www.timberlandbootshiking.com/timberland-6-inch-boots-c-2.html]Timberland 6 Inch Boots[/url], the style of 6 inch timberland boots more durable,waterproof,comfortable.

3 楼

看帖是学习,回帖更是礼貌!!!

4 楼

[quote]1:
Dim B1 As Boolean = False
这似乎不是vb6.0的句式?
2:
i的值决定B1为真时
For I1 = 0 To i Step 1
……
next I1
的循环体是否被执行。
3:
要学会使用断点和但不运行来检查程序的流程。
4:
要学会使用
debug.print
来检查程序过程的值的变化。[/quote]
他这好像是VB.NET的语法。

5 楼

我不得不说,你的代码没有排版,很难看懂。

6 楼

[quote]
B1 = True

Me.ComboBox9.Focus()

[color=FF0000]Exit Sub[/color]

End If
[/quote]

当你B1 = True时,Exit Sub语句运行,那就意味着程序已结束该过程,换句话说,程序直接跳转到End Sub,那你的红色代码和蓝色代码当然不运行

当B1=False时,Exit Sub语句根本就没机会运行,那么你的蓝色代码和红色代码当然会运行。

我猜想你的本意, Exit Sub语句退出当前循环,退出循环好像是 Exit For语句

7 楼

[quote][quote]
B1 = True

Me.ComboBox9.Focus()

[color=FF0000]Exit Sub[/color]

End If
[/quote]

当你B1 = True时,Exit Sub语句运行,那就意味着程序已结束该过程,换句话说,程序直接跳转到End Sub,那你的红色代码和蓝色代码当然不运行

当B1=False时,Exit Sub语句根本就没机会运行,那么你的蓝色代码和红色代码当然会运行。

我猜想你的本意, Exit Sub语句退出当前循环,退出循环好像是 Exit For语句[/quote]

完全同意你的看法。

8 楼

看帖是学习,回帖更是礼貌!!!

9 楼

但问题是发帖人不见了呢。

10 楼

路过看看。。[url=http://www.176buding.com]背包透明补丁下载[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册