Мир объектов Excel 2000



              

Построение запросов - часть 2


Построенный только что запрос позволяет выбрать среди всех заказчиков тех, кто живет в Твери. Такой запрос является частным случаем общего запроса. Значительно чаще в подобных ситуациях строится запрос с параметром, в котором код города является параметром, задаваемым динамически в момент вызова запроса. Визуально запросы с параметрами строятся, как обычные. Чтобы предыдущий запрос превратить в запрос с параметрами, в поле запроса, где задавался город ("Тверь"), достаточно записать в квадратных скобках строку, запрашивающую имя параметра, например: [город?] или [Town]. Скобки - признак того, что задается параметр запроса, они сигнализируют о необходимости добавления элемента в коллекцию Parameters, связанную с запросом. Аналогично создаются запросы с несколькими параметрами.

Несколько слов о том, как вызываются запросы с параметрами. Если это делать визуально, то в момент вызова запроса для каждого из параметров будет открываться диалоговое окно с заданной при определении запроса строкой. В этом окне и следует задать значение параметра. При программном вызове значения параметров надо задать до начала вызова запроса, присваивая их соответствующим элементам коллекции Parameters. Взгляните, как конструируется запрос "Заказчики из города" с двумя параметрами:

Запрос с двумя параметрами

Рис. 4.10.  Запрос с двумя параметрами

Обычно при определении запроса строка, запрашивающая значение параметра, задается в вопросительной форме, что естественно при ее появлении в момент открытия диалогового окна. Поскольку значение строки не должно совпадать с именем поля, то и по этой причине целесообразно добавлять знак вопроса. Вот SQL запись данного запроса:

SELECT Заказчики.Название FROM Заказчики WHERE (((Заказчики.Город)=[город?]) AND ((Заказчики.Директор)=[директор?])) ORDER BY Заказчики.Название;

Заметьте, хотя в явном виде предложение Parameters в операторе SELECT не отображается, но соответствующая коллекция Parameters, связанная с запросом формируется.




Содержание  Назад  Вперед