1. Если подчинённая таблица является ведущим набором данных для другой подчинённой таблицы, то при задании параметров полей нужно обязательно указывать поле, которое указано в свойстве “Упр. поле” у ведомой подчинённой таблицы.
2. Если параметры полей не указаны, то в параметрическом запросе будут участвовать все поля из таблицы, указанной в свойстве Имя таблицы.
Параметризованный запрос
Параметризованный запрос представляет собой набор данных, записи которого формируются в результате выполнения SQL-запроса. Код Параметризованного запроса создается или изменяется в момент его активизации. Такие запросы обычно применяются в том случае, когда следует предусмотреть действия пользователя.
Свойства компонента: Активность ,Отступ слева, Название, Отступ сверху, Расположение, Текст .
Активность - определяет активизирован запрос или нет, возможные значения - Да, Нет. По умолчанию - Нет. При значении свойства Да, осуществляется выполнение запроса.
Расположение – содержит имя каталога, в котором расположены таблицы БД, либо псевдоним БД. Выбирается с помощью диалога выбора конкретной директории или псевдонима пути к месту, где расположены таблицы БД, участвующие в запросе.
Обновляемый – определяет возможность изменения НД, возвращаемого после выполнения оператора SELECT. Значение свойства устанавливается автоматически в зависимости от выполнения следующих условий:
НД формируется обращением только к одной физической таблице БД;
НД не сортируется (т.е. в запросе не должно быть секции ORDER BY);
в НД не создаются значения с помощью агрегатных функций SUM, COUNT, AVG, MIN,MAX.
Текст запроса - содержит текст запроса, на основании которого отбираются записи в набор данных. При формировании запроса можно использовать Построитель запросов – редактор, позволяющий набирать и выполнять параметризованные запросы (основные сведения о языке SQL даны в п. 2.6.1). Принцип работы в данном редакторе аналогичен Построителю SQL – запросов (основные сведения о котором даны в п. 2.5.4).
Для настройки Параметризованного запроса во время выполнения приложения в его тексте можно использовать параметры – переменные, имена которых в тексте запроса заключены в символы $ или #. Символы $ и # являются служебными и между ними указывается имя компонента формы, который содержит значение данного параметра. В момент активизации запроса вместо названия параметра – переменной подставляется конкретное значение из соответствующего компонента формы. Компонент формы определяется согласно названию параметра – переменной. Для задания значений используются компоненты Ввод значения и Выбор оператора.
Если значение имеет числовой тип, то имя компонента Ввод значения заключается в символы $ (например, $Ввод_значения$).
Если значение имеет символьный тип, то имя компонента Ввод значения заключается в символы $ и апостроф (например, $'Ввод_значения2'$).
Для логического оператора имя компонента Выбор оператора должно быть заключено в символы # (например, #Выбор_оператора1#).
Если компонент Параметризованный запрос размещен на Модуле Данных, то необходимо активизировать форму пользователя, содержащую компоненты Ввод значения и Выбор оператора. При этом Построитель запросов будет содержать списки с именами компонент Ввода значения и Выбора оператора данной формы, что позволит упростить построение запроса.
В тексте Параметризованного запроса, в условиях отбора, возможно использование наборов данных, расположенных на Модуле данных. Например, рассмотрим текст запроса:
SELECT * From AIR_MAP WHERE AIR_MAP.НАЗВАНИЕ = ~'Модуль_данных1.Таблица1.АЭРОПОРТ'~
Результатом выполнения оператора SELECT является набор данных, который удовлетворяет критерию отбора :
AIR_MAP.НАЗВАНИЕ = ~'Модуль_данных1.Таблица1.АЭРОПОРТ'С’~
Имя поля набора данных, расположенного на Модуле данных заключается в символ ~.