Этот запрос основан на MS Access VBA. Я хотел бы знать, что является наиболее эффективным способом, чтобы увидеть, существует ли элемент в элементе управления списком.Наиболее эффективный способ проверки наличия или отсутствия элемента в элементе управления списком
Q
Наиболее эффективный способ проверки наличия или отсутствия элемента в элементе управления списком
0
A
ответ
2
Вот примерная функция, которая может быть адаптирована для удовлетворения потребностей.
Function CheckForItem(strItem, ListB As ListBox) As Boolean
Dim rs As DAO.Recordset
Dim db As Database
Dim tdf As TableDef
Set db = CurrentDb
CheckForItem = False
Select Case ListB.RowSourceType
Case "Value List"
CheckForItem = InStr(ListB.RowSource, strItem) > 0
Case "Table/Query"
Set rs = db.OpenRecordset(ListB.RowSource)
For i = 0 To rs.Fields.Count - 1
strList = strList & " & "","" & " & rs.Fields(i).Name
Next
rs.FindFirst "Instr(" & Mid(strList, 10) & ",'" & strItem & "')>0"
If Not rs.EOF Then CheckForItem = True
Case "Field List"
Set tdf = db.TableDefs(ListB.RowSource)
For Each itm In tdf.Fields
If itm.Name = strItem Then CheckForItem = True
Next
End Select
End Function
1
К сожалению, нет более эффективного способа, чем линейный поиск, если вы не знаете, что ваш список сортируется или индексируется определенным образом.
For i = 1 To TheComboBoxControl.ListCount
if TheComboBoxControl.ItemData(i) = "Item to search for" Then do_something()
Next i
1
Если вы не возражаете, прибегая к Windows API, вы можете искать строку, как это:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_FINDSTRINGEXACT = &H1A2
Dim index as Integer
Dim searchString as String
searchString = "Target" & Chr(0)
index = SendMessage(ListBox1.hWnd, LB_FINDSTRINGEXACT , -1, searchString)
Который должен вернуть индекс строки, содержащей строку.
Смежные вопросы
- 1. Наиболее эффективный способ проверки наличия нескольких элементов
- 2. Каков наиболее эффективный способ проверки отсутствия пути в неселективном запросе?
- 3. Каков наиболее эффективный способ проверки наличия дубликатов символов в строке?
- 4. Каков наиболее эффективный способ доступа к значению элемента управления?
- 5. Наиболее эффективный способ проверки формы в массиве?
- 6. Необычный/эффективный способ проверки наличия документа в elasticsearch
- 7. Наиболее эффективный способ проверки соседней сетки
- 8. Самый эффективный (или наиболее стильный) способ проверки наличия дополнительных атрибутов JS?
- 9. Наиболее эффективный способ проверки наличия документа mongo уже существует? Запрос для существующего или заданного индекса уникальным?
- 10. Наиболее эффективный способ проверки равенства лямбда-выражений
- 11. Наиболее эффективный способ проверки расширения электронной почты
- 12. Проверка наличия или отсутствия popover
- 13. Эффективный способ выполнения нескольких запросов в одном настраиваемом элементе управления
- 14. Наиболее эффективный способ прокрутки «...»
- 15. Oracle PL/SQL: эффективный способ проверки наличия записей в представлении?
- 16. Каков наиболее эффективный способ заполнения списка?
- 17. Каков наиболее эффективный способ проверки нескольких значений в сценарии bash
- 18. PHP - Проверка наличия или отсутствия индекса массива
- 19. Каков наиболее эффективный способ инициализации массива списка с пустым списком?
- 20. Наиболее эффективный способ вычисления последнего элемента в массиве JavaScript?
- 21. Эффективный способ отображения информации о элементе списка
- 22. Каков наиболее эффективный способ проверки коллизий для obb в сетке?
- 23. Наиболее эффективный способ поиска индекса элемента в SortedDictionary
- 24. Каков наиболее эффективный способ управления большим набором строк в OpenGL?
- 25. Наиболее эффективный способ преобразования HTMLCollection в массив
- 26. наиболее эффективный способ установки изображения
- 27. C++ - Каков наиболее эффективный способ проверки нулевого указателя?
- 28. Каков наиболее эффективный способ вставки элемента в отсортированный вектор?
- 29. Проверка наличия или отсутствия строкового массива
- 30. Наиболее эффективный способ хранения и управления умеренным числом пользователей