sql >> Databáze >  >> RDS >> Sqlserver

Problém s výkonem v seznamu dynamického rozevíracího vyhledávání v aplikaci Excel

Nevím o výkonu, ale zkuste následující. Vaše data by měla být v listu "db", od řádku 2 dále. Místo comboboxu umístím textové pole (TextBox1 ) a seznam (ListBox1 ) ve formuláři UserForm.

Private Sub TextBox1_Change()
    Dim v As String
    Dim YourInput As String
    Dim iIdx As Long
    Dim CharNumber As Integer

    YourInput = TextBox1.Text

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False

    ListBox1.Clear

    lLastRow = Worksheets("db").Cells(3, 1).End(xlDown).Row
    CharNumber = Len(YourInput)

    For iIdx = 2 To lLastRow
        v = Worksheets("db").Cells(iIdx, 1).Text
        If LCase(Left(v, CharNumber)) = LCase(YourInput) Then
            ListBox1.AddItem v
        End If
    Next

    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
End Sub

Private Sub ListBox1_Click()
    MsgBox ("Your selection: " & ListBox1.Text)
    'do your stuff
End Sub


  1. Jak MySQL zpracovává ORDER BY a LIMIT v dotazu?

  2. Vyladění služby SQL Server Reporting Services

  3. SQL Server 2008 Generuje řadu datumů a časů

  4. Jak vytvořit podformulář z tabulky v Accessu 2016