Параметры запроса: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| Строка 33: | Строка 33: | ||
|- | |- | ||
|<code>Name</code> | |<code>Name</code> | ||
|Имя параметра. Здесь надо указать то же самое имя параметра, который вы использовали в тексте запроса. Некоторые СУБД (например, MS Access) не поддерживают именованные параметры. В этом случае оставьте это свойство без изменений. | |Имя параметра. Здесь надо указать то же самое имя параметра, который вы использовали в тексте запроса. | ||
Некоторые СУБД (например, <code>MS Access</code>) не поддерживают именованные параметры. В этом случае оставьте это свойство без изменений. | |||
|- | |- | ||
|<code>DataType</code> | |<code>DataType</code> | ||
| Строка 39: | Строка 40: | ||
|- | |- | ||
|<code>DefaultValue</code> | |<code>DefaultValue</code> | ||
|Значение по умолчанию, которое будет присвоено параметру при отсутствии значения в свойстве Expression или невозможности его вычислить (например, при операциях с запросом в режиме дизайна отчета). | |Значение по умолчанию, которое будет присвоено параметру при отсутствии значения в свойстве <code>Expression</code> или невозможности его вычислить (например, при операциях с запросом в режиме дизайна отчета). | ||
|- | |- | ||
|<code>Expression</code> | |<code>Expression</code> | ||
|Выражение, которое возвращает значение параметра | |Выражение, которое возвращает значение параметра - будет вычислено при запуске отчета на выполнение. | ||
|- | |- | ||
|<code>Size</code> | |<code>Size</code> | ||
|Размер данных параметра. Это свойство нужно указывать, если параметр имеет тип данных | |Размер данных параметра. Это свойство нужно указывать, если параметр имеет тип данных <code>строка</code>. | ||
|- | |- | ||
|} | |} | ||
Версия от 04:17, 16 октября 2026
В тексте запроса могут присутствовать параметры. Рассмотрим следующий запрос:
SELECT DISTINCT
cl."ID" AS lab_id,
e."ID" AS fio_id,
e."SURNAME" AS surname,
e."NAME" AS name,
e."PATRONYMIC" AS patronymic,
CONCAT(e."SURNAME", ' ', e."NAME", ' ', e."PATRONYMIC") AS fio
FROM "COMPANY_LEVEL" cl
INNER JOIN "EMPLOYEE_CLB" e_clb
ON cl."ID" = e_clb."COMPANY_LEVEL_ID"
INNER JOIN "EMPLOYEE" e
ON e."ID" = e_clb."ENTITY_ID"
WHERE cl."ID" = @lab_id
ORDER BY fio;
Это запрос к демонстрационной базе MS SQL. В запросе определен параметр с именем param1. Здесь надо сделать важное замечание: способ определения параметров в запросе отличается для разных СУБД. Для MS SQL параметр обозначается символом @; для MS Access параметры не имеют имен и обозначаются символами ?.
Для того чтобы работать с параметром, надо, как минимум, определить его значение. Это можно сделать на третьем шаге мастера "Мастер запроса", который мы рассмотрели выше. Для создания параметра нажмите кнопку "Добавить параметр". Будет создан новый параметр:

Свойства
В окне справа необходимо настроить следующие свойства параметра:
| Свойство | Описание |
|---|---|
Name
|
Имя параметра. Здесь надо указать то же самое имя параметра, который вы использовали в тексте запроса.
Некоторые СУБД (например, |
DataType
|
Тип данных параметра. |
DefaultValue
|
Значение по умолчанию, которое будет присвоено параметру при отсутствии значения в свойстве Expression или невозможности его вычислить (например, при операциях с запросом в режиме дизайна отчета).
|
Expression
|
Выражение, которое возвращает значение параметра - будет вычислено при запуске отчета на выполнение. |
Size
|
Размер данных параметра. Это свойство нужно указывать, если параметр имеет тип данных строка.
|
Примечание
Если вы неправильно настроите свойства параметра, вы получите ошибку в момент переключения на последнюю страницу мастера.