Поделиться через


Метод Find (ADO)

Выполняет поиск строки, удовлетворяющей заданным условиям, в наборе записей . При необходимости можно указать направление поиска, начальную строку и смещение от начальной строки. Если условия соблюдены, текущая позиция строки устанавливается в найденной записи; В противном случае позиция устанавливается в конец (или начало) набора записей.

Синтаксис

  
Find (Criteria, SkipRows, SearchDirection, Start)  

Параметры

Критерии
Строковое значение, содержащее инструкцию, указывающую имя столбца, оператор сравнения и значение для использования в поиске.

SkipRows
Необязательный элемент. Значение Long , значение по умолчанию которого равно нулю, указывающее смещение строки от текущей строки или начальную закладку для начала поиска. По умолчанию поиск начинается с текущей строки.

SearchDirection
Необязательный элемент. Значение SearchDirectionEnum , указывающее, должен ли поиск начинаться в текущей строке или в следующей доступной строке в направлении поиска. Неудачный поиск останавливается в конце набора записей , если значением является adSearchForward. Неудачный поиск останавливается в начале набора записей , если значением является adSearchBackward.

Запуск
Необязательный элемент. Закладка Variant , которая выступает в качестве начальной позиции для поиска.

Комментарии

В критериях можно указать только имя одного столбца. Этот метод не поддерживает поиск по нескольким столбцам.

Оператор сравнения в Criteria может иметь значение ">" (больше), "<" (меньше), "=" (равно), ">=" (больше или равно), "<=" (меньше или равно), "<>" (не равно) или "like" (сопоставление шаблонов).

Значение в критерии может быть строкой, числом с плавающей запятой или датой. Строковые значения разделяются одними кавычками или знаками "#" (знак числа) (например, "state = "WA" или "state = #WA#"). Значения даты разделяются знаками "#" (числовой знак) (например, "start_date > #7/22/97#"). Эти значения могут содержать часы, минуты и секунды для обозначения меток времени, но не должны содержать миллисекунд, иначе будут возникать ошибки.

Если оператор сравнения имеет значение like, строковое значение может содержать звездочку (*) для поиска одного или нескольких вхождений любого символа или подстроки. Например, "состояние, как "M*"" соответствует Мэну и Массачусетсу. Для поиска подстроки, содержащейся в значениях, можно также использовать начальные и конечные звездочки. Например, "государство, как "*as*"" соответствует Аляске, Арканзас и Массачусетс.

Звездочки можно использовать только в конце строки условия или в начале и в конце строки условия, как показано выше. Звездочка не может использоваться в качестве подстановочного знака в начале ('*str') или в качестве внедренного подстановочного знака ('s*r'). Это приведет к ошибке.

Примечание

Если текущее положение строки не задано перед вызовом функции Поиска, возникнет ошибка. Любой метод, задающий позицию строки, например MoveFirst, должен вызываться перед вызовом метода Find.

Примечание

Если вы вызываете метод Find для набора записей, а текущая позиция в наборе записей находится в последней записи или конце файла (EOF), вы ничего не найдете. Чтобы задать текущее положение или курсор в начале набора записей, необходимо вызвать метод MoveFirst .

Применение

Объект Recordset (ADO)

См. также:

Пример метода Find (Visual Basic)
Свойство Index
Свойство Optimize (динамическое) (ADO)
Метод Seek