我在使用combobox.DropDown
方法时遇到问题,在更改事件中使用它时,只会显示1个带滚动条的结果,以显示其他结果。
Private Sub emp_name_Change()
Call Connect_to_db
strSQL = "SELECT [Name] , [ID] FROM Table2 where [Name] Like '%" & emp_name & "%' Order By [Name]; "
rs.Open strSQL, cn
If rs.bof = True Or rs.EOF = True Then
MsgBox ("No records found")
Else
rs.MoveFirst
End If
With emp_name
.Clear
Do While Not rs.EOF
.AddItem rs.Fields(0).Value
rs.MoveNext
Loop
End With
Call Close_db
emp_name.DropDown
End Sub
答案 0 :(得分:1)
将Private Sub emp_name_Change()
更改为Private Sub emp_name_Click()
,并将With emp_name
移到Else
部分
试试这个( UNTESTED )
Private Sub emp_name_Click()
Call Connect_to_db
strSQL = "SELECT [Name] , [ID] FROM Table2 where [Name] Like '%" & emp_name & "%' Order By [Name]; "
rs.Open strSQL, cn
If rs.bof = True Or rs.EOF = True Then
MsgBox ("No records found")
Else
rs.MoveFirst
With emp_name
.Clear
Do While Not rs.EOF
.AddItem rs.Fields(0).Value
rs.MoveNext
Loop
End With
End If
Call Close_db
emp_name.DropDown
End Sub
答案 1 :(得分:0)
是的我需要通过更改事件来实现此目的。 我试图创建一个组合字母的组合框,列表只显示那些以那些字母开头的条目。
我可以在打开文件时检索整个数据并使用高级过滤器。这是最好的方法吗?