疑难求解,请指教!!!

susanxiaoshan 2003-02-21 11:23:51
我窗体里有两个combo控件,我希望点击combo1时,combo2会显示不同的内容!

Private Sub Combo1_click()
Dim strperson As String
Dim conn As New ADODB.Connection
Dim rst As ADODB.Recordset

Select Case Combo1.ListIndex
Case 0
conn.Open ("dsn=people")
Set rst = conn.Execute("select * from three")

If rst.BOF And rst.EOF Then Exit Sub

rst.MoveFirst
While Not rst.EOF
For i = 0 To rst.RecordCount - 1
strperson = CStr(rst!联系人)
With Combo2
.AddItem "strperson"
End With
Next i
rst.MoveNext
Wend
Debug.Print i
End Select
End Sub

其中three是我acess数据库的一个表,“联系人”是表中的一个字段。
可是我运行时,却发现运行到 For i = 0 To rst.RecordCount - 1后,程序就跳过中间一段,直接到了Next i。致使combo2中无任何显示内容。怎么回事?
...全文
63 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
susanxiaoshan 2003-02-22
  • 打赏
  • 举报
回复
问题解决了
但我不明白的是如果用northwolves的方法Combo2.AddItem CStr(rst!联系人)
就行,而如果用
While Not rst.EOF
strperson = CStr(rst!联系人)
With Combo2
.AddItem "strperson"
End With
rst.MoveNext
Wend
的方法,combo2里显示的内容就老是是strperson那?

northwolves 2003-02-21
  • 打赏
  • 举报
回复

If rst.EOF Then Exit Sub
rst.MoveFirst
do While Not rst.EOF
Combo2.AddItem CStr(rst!联系人)
rst.MoveNext
loop
Debug.Print i
只有CASE 0 就不必使用SELECT 语句了。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧