Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Проблем с производителността в списъка за динамично падащо търсене в excel

Не знам за производителността, но опитайте следното. Вашите данни трябва да са в лист "db", от ред 2 нататък. Вместо комбинирано поле, поставям текстово поле (TextBox1 ) и списък (ListBox1 ) в потребителски формуляр.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ADO.net SqlTransaction подобрява производителността

  2. отмяна на промени в съхранена процедура

  3. „СЪЗДАВАНЕ НА ИЗГЛЕД“ трябва да бъде първият израз в пакета от заявки

  4. Как да деактивирам ограниченията за всички таблици и да го активирам?

  5. Производителност на табличните променливи в SQL Server