Access 2002

Табличный набор записей


Если все параметры должны иметь значения элементов управления открытой формы, функция Access Eval поможет вам получить эти значения. (Получив текстовую ссылку на элемент управления открытой формы, функция Eval возвращает его значение.)  6.13 приведен текст функции HandleParametersADO, которая выполняет работу по определению значений параметров и вызывает метод Execute объекта Command для получения набора записей. Аналогичный код DAO встроен прямо в функцию SetupRstDAO, где для получения набора записей используется метод OpenRecordset объекта QueryDef (разумеется, также после определения всех параметров запроса). Обратите  на то, что функция возвращает новый набор записей и присваивает переменной, объявленной на уровне модуля, значение, которое указывает, что открыт не табличный набор записей, а набор записей типа dynaset.

В коде VBA ссылки на форму и элемент управления могут быть разделены точкой. Такой синтаксис недопустим при определении параметров запроса. То же касается и заключения имени элемента управления в кавычки: так можно поступать в коде VBA, но не в запросе. В запросе правильным является следующий синтаксис ссылки на элемент управления формы: Forms!FormName!ControlName.

Поиск текста

Поиск введенного пользователем текста — относительно простая операция. Если список связан непосредственно с таблицей, содержащей нужный индекс, для нахождения первого значения, которое больше или равно введенному, применяется метод Seek. Если же индексный поиск в источнике данных списка невозможен, формируется строковое выражение, которое метод Filter (ADO) или FindFirst (DAO) использует как критерий поиска.

Код DAO (из обработчика события mtxt_Change), выполняющий поиск, выглядит так:

Комментарии закрыты