各位vb的高手,我在做一个系统,现碰到一些问题,我用两个combo空件,想实现选择combo1里的内容后,combo2能读取数据库里相应的字段的所有数据,代码如下,但这里只能读取“高级用户“ 里的数据,如我把case cli=0 改成case cli=1,才可读取“系统管理员“的数据,还有我的combo.clear哪里用的不对,为什么不能清除combo里的内容,由于每分了,所以只有20分相送,谢谢各位能帮忙指出错误。
Private Sub Combo1_Click()
'ado连接数据库
Dim Cli As Integer
Cli = Combo1.ListIndex
Dim Cnn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\qyrsgl.mdb;Persist Security Info=False"
Cnn.Open
Rs.CursorLocation = adUseClient
Set Rs = Cnn.Execute("select * from 登陆界面")
'分支选择
'If Rs.EOF Then Exit Sub
Select Case Cli
Case Cli = 1
Combo2.clear
Rs.MoveFirst
Do While Not Rs.EOF
Combo2.AddItem Rs.Fields("系统管理员")
Rs.MoveNext
Loop
Case Cli = 0
Combo2.clear
Rs.MoveFirst
Do While Not Rs.EOF
Combo2.AddItem Rs.Fields("高级用户")
Rs.MoveNext
Loop
Case Cli = 2
Combo2.clear
Rs.MoveFirst
Do While Not Rs.EOF
Combo2.AddItem Rs.Fields("普通用户")
Rs.MoveNext
Loop
Cnn.Close
End Select
End Sub
Private Sub Combo1_Click()
'ado连接数据库
Dim Cli As Integer
Cli = Combo1.ListIndex
Dim Cnn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\qyrsgl.mdb;Persist Security Info=False"
Cnn.Open
Rs.CursorLocation = adUseClient
Set Rs = Cnn.Execute("select * from 登陆界面")
'分支选择
'If Rs.EOF Then Exit Sub
Select Case Cli
Case Cli = 1
Combo2.clear
Rs.MoveFirst
Do While Not Rs.EOF
Combo2.AddItem Rs.Fields("系统管理员")
Rs.MoveNext
Loop
Case Cli = 0
Combo2.clear
Rs.MoveFirst
Do While Not Rs.EOF
Combo2.AddItem Rs.Fields("高级用户")
Rs.MoveNext
Loop
Case Cli = 2
Combo2.clear
Rs.MoveFirst
Do While Not Rs.EOF
Combo2.AddItem Rs.Fields("普通用户")
Rs.MoveNext
Loop
Cnn.Close
End Select
End Sub
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货