VBA问题中的组合框dropbox

VBA问题中的组合框dropbox,vba,excel,combobox,Vba,Excel,Combobox,我对组合框有问题。在更改事件中使用下拉列表方法时,只会显示一个结果,并使用滚动条显示其他结果 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.b

我对组合框有问题。在更改事件中使用下拉列表方法时,只会显示一个结果,并使用滚动条显示其他结果

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

Private Sub-emp\u name\u Change()
更改为
Private Sub-emp\u name\u Click()
,并将
带有emp\u name的
移动到
Else
零件内

试试这个(未经测试


是的,我需要通过更改事件进行此操作。。 我正在尝试创建一个组合框,在其中键入一个字母,列表仅显示以该字母开头的条目


我可以在打开文件并使用高级过滤器时检索整个数据。这是最好的方法吗?

BIRDSVIEW:不会
。AddItem
重新启动emp\u name\u Change()事件。如果我将其更改为单击或输入事件,我可以使用它。但我需要它作为变更事件谢谢我只需要设置结果显示的行数。我使用.DropDownLines=0,但它不是workok,所以您是否尝试创建一个组合框,在其中键入一个字母,列表仅显示以该字母开头的条目?是,它与此代码一起工作。但问题是它只会显示1项
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