Кем может использоваться конструктор запросов. Конструирование запросов

2. можно указать требуемый вид элементов управления, соответствующих составу подчиненных объектов

3. верно все вышеперечисленное

4.40 У документа уже определены все основные формы. При создании новой формы в конструкторе выставляют следующие флажки (см. рисунок). Что произойдет после того, как форма будет создана?

1. Форма2 будет назначена основной формой документа

2. Форма2 будет назначена основной формой списка документа

3. Ничего, поскольку основные формы уже назначены

4. Ничего, поскольку не выставлен флажок "Основная форма списка и выбора"

4.41 Использование конструктора запросов позволяет:

2. Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса и получение результата выполнения запроса

4. Верны ответы 1 и 3

5. Все вышеперечисленное

4.42 Использование конструктора запроса с обработкой результата позволяет:

1. Сформировать текст нового запроса

2. Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса, получение и обработку результата выполнения запроса

3. Отредактировать текст имеющегося запроса

4. Верны ответы 1 и 3

5. Вес вышеперечисленное

4.43 При сохранении текста запроса, открытого повторно с помощью конструктора запроса, без внесения в этот текст изменений:

1. Весь первоначальный текст остается без изменений

2. Из первоначального текста будут удалены только комментарии

3. В первоначальном тексте комментарии останутся, а будут удалены только конструкции языка запросов построителя отчетов

4. Из первоначального текста будут удалены и комментарии, и конструкции языка запросов построителя отчетов

4.44 Конструктор запросов может быть вызван:

1. С помощью пункта главного меню "Текст - Конструктор запроса..."

2. С помощью кнопки "Конструкторы - Конструктор запросов" на закладке "Макеты" из окна редактирования объекта

3. С помощью пункта всплывающего контекстного меню "Конструктор запроса...", появляющегося при нажатии в тексте модуля правой клавиши мыши

4. Верно все вышеперечисленное

5. Верны ответы 1 и 3

4 .45 Кем может использоваться конструктор запросов?

1. Разработчиками, так как необходимо знание языка запросов

2. Квалифицированными пользователями без использования конфигуратора

3. Верно все вышеперечисленное

4. Пет верного ответа

4.46 На закладке "Таблицы и поля" конструктора запросов задают:

1. Источники данных запросов, в качестве которых могут выступать реальные и виртуальные таблицы

2. Набор полей из таблиц - источников данных запроса

3. Поля в виде произвольного выражения

4. Верпы ответы I и 2

5. Верно все вышеперечисленное

4.47 Для создания в конструкторе запросов вложенного запроса необходимо:

1. Открыть закладку "Таблицы и поля". В командной панели над деревом "База данных" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню

2. Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню

3. Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню

4. В конструкторе запросов создать вложенный запрос нельзя

4.48 Для создания в конструкторе запросов вычисляемого поля необходимо:

1. Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Изменить текущий элемент". В открывшемся окне добавить новое поле

2. Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню

3. Открыть закладку "Объединения/Псевдонимы". В командной панели над списком полей нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню

4. Создать вычисляемое поле можно только изменив текст запроса "вручную"

4.49 Для создания в запросе строк, сгруппированных с помощью агрегатных функций, на закладке "Группировка" конструктора запросов обязательно должны быть заполнены:

1. Только список групповых полей. Указание суммируемых полей не обязательно

2. Только список суммируемых полей, при этом остальные поля автоматически попадут в секцию СГРУППИРОВАТЬ ПО в тексте запроса

3. Обязательным является указание как групповых, так и суммируемых полей

4.50 В конструкторе запросов условия на значения агрегатных функций можно накладывать:

1. На закладке "Группировка", в списке суммируемых полей при выборе агрегатной функции

2. На закладке "Условия"

3. На закладке "Итоги", в списке итоговых полей при выборе агрегатной функции

4. В конструкторе запросов задать условия на значения агрегатных функций нельзя

4.51 В конструкторе ограничений доступа к данным:

1. Можно использовать только поля объекта, для которого определяется ограничение

2. Можно использовать только поля объекта, для которого определяется ограничение и поля вложенных таблиц (по отношению к полям объекта)

3. Любые таблицы, которые в запросе можно связать с полями объекта, для которого определяется ограничение

4.52 При определении ограничения доступа в конструкторе ограничений доступа к данным...

1. текст запроса может быть сформирован только самим конструктором

2. текст запроса может быть введен только вручную

3. текст запроса может быть сформирован как самим конструктором, так и вручную

4.53 При определении ограничения доступа в конструкторе ограничений доступа к данным:

1. Правило ограничения определяется только на закладке "Связи"

2. Правило ограничения определяется только на закладке "Условия"

3. Настройки, выполненные па обеих закладках конструктора, участвуют в определении условия на доступ к данным

4.54 При определении ограничения доступа в конструкторе ограничений доступа к данным текст условия:

1. Начинается с ключевого слова "Выбрать"

2. Начинается только с конструкции "Выбрать Различные"

3. Начинается только с конструкции "Выбрать Разрешенные"

4. Ключевое слово "Выбрать" не определяется

5. Допустимы варианты 1 и 3

4.55 Конструктор агрегатов предназначен для формирования агрегатов:

1. документов 2.справочников

3. регистров накопления

5. отчетов

4.56 Конструктор агрегатов может быть вызван:

1. По кнопке "Агрегаты" в окне редактирования объекта конфигурации на закладке "Данные"

2. Через контекстное меню в дереве метаданных "открыть агрегаты"

3. Через контекстное меню в дереве метаданных "Конструкторы - конструктор агрегатов"

4. Верные ответы 1 и 2

5. Верные ответы 1 и 3

6. Все ответы верпы

4.57 Если для регистра накопления недоступен конструктор агрегатов, необходимо выполнить следующие действия:

1. Включить в конфигурации использование агрегатов

2. Изменить настройку регистра накопления "Вид регистра"

3. Открыть агрегаты и в настройку добавить необходимый регистр накопления

4.58 Для отображения в конструкторе списка оптимальных агрегатов необходимо:

1. Включить отображение оптимальных агрегатов

2. Произвести расчет оптимальных агрегатов в конфигураторе

3. Произвести расчет оптимальных агрегатов в 1С:Предприятис

4. Произвести расчет оптимальных агрегатов в 1С:Предприятие и загрузить их в Конфигураторе

4.59 Для определения схемы источника данных в системе компоновки данных используется:

1. Конструктор запроса

2. Конструктор запроса с обработкой результата

3. Конструктор схемы компоновки данных

4. Конструктор настроек компоновки данных

Конструктор запроса имеет достаточно простой, интуитивно понятный интерфейс. Тем не менее рассмотрим применение конструктора запроса подробнее.

Запуск конструктора текста запроса производится контекстным меню (правой кнопкой мыши) в нужном месте программного кода.

Рассмотрим каждую вкладку конструктора подробнее. Исключение — вкладка Построитель, это тема для отдельного разговора.

Вкладка Таблицы и поля

На этой вкладке указывается источник данных и поля, которые необходимо выводить в отчет. По сути, тут описываются конструкции ВЫБРАТЬ … ИЗ.

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

В контекстном меню виртуальных таблиц можно задать параметры этих таблиц:

Вкладка Связи

Вкладка служит для описания соединений нескольких таблиц, создает конструкции со словом СОЕДИНЕНИЕ.

Вкладка Группировка

На данной вкладке система позволяет группировать и суммировать нужные поля результата таблицы. Описывается использование конструкций СГРУППИРОВАТЬ ПО, СУММА, МИНИМУМ, СРЕДНЕЕ, МАКСИМУМ, КОЛИЧЕСТВО, КОЛИЧЕСТВО РАЗЛИЧНЫХ.

Получите 267 видеоуроков по 1С бесплатно:

Вкладка Условия

Отвечает за всё, что идёт в тексте запроса после конструкции ГДЕ, т.е. за все условия, накладываемые на получаемые данные.

Вкладка Дополнительно

Вкладка Дополнительно изобилует всевозможными параметрами, которые являются очень важными. Рассмотрим каждое из свойств.

Группировка Выборка записей :

  • Первые N — параметр, возвращающий в запрос только N записей (оператор ПЕРВЫЕ)
  • Без повторяющихся — обеспечивает уникальность полученных записей (оператор РАЗЛИЧНЫЕ )
  • Разрешенные — позволяет выбирать только те записи, которые позволяет выбрать система с учетом (конструкция РАЗРЕШЕННЫЕ )

Группировка Тип запроса определяет, каким будет тип запроса: выборка данных, создание временных таблицы или же уничтожение временной таблицы.

Ниже существует флаг Блокировать полученные данные для последующего изменения . Он позволяет включить возможность установки блокировки данных, которая обеспечивает сохранность данных от момента их чтения до изменения (актуально только для Автоматического режима блокировок, конструкция ).

Вкладка Объединения/Псевдонимы

На этой вкладке конструктора запросов устанавливается возможность объединения разных таблиц и псевдонимы (конструкция КАК). В левой части указываются таблицы, если установить флаги напротив таблицы, будут использоваться конструкции ОБЪЕДИНИТЬ, иначе — ОБЪЕДИНИТЬ ВСЕ (отличия двух способов ). В правой части указываются соответствия полей в разных таблицах, если соответствие не указано, запрос будет возвращать NULL.

Вкладка Порядок

Здесь указывается порядок сортировки значений (УПОРЯДОЧИТЬ ПО) — по убыванию (УБЫВ) или возрастанию(ВОЗР).

Также есть интересный флаг — Автоупорядочивание (в запросе — АВТОУПОРЯДОЧИВАНИЕ). По умолчанию, система 1С 8.3 выводит данные в «хаотичном» порядке. Если установить этот флаг, система будет сортировать данные по внутренним данным.

Вкладка Пакет запросов

На вкладке конструктора запросов можно , а также использовать её в роли навигации. В тексте запроса пакеты разделяются символом «;»(точка с запятой).

Кнопка «Запрос» в конструкторе запросов

В левом нижнем углу конструктора запроса есть кнопка Запрос, с помощью которого можно в любой момент просмотреть текст запроса:

В данном окне можно внести коррективы в запрос и выполнить его.

Умение писать текст запроса «вручную» никогда не являлось «лишним», но удобнее использовать конструктор запросов.

Замечание.

К сожалению, в управляемом приложении в обработке «ЗнакомствоСЗапросом» нельзя пользоваться конструктором запроса. Можно им воспользоваться в этой обработке перейдя в обычный режим, но делать этого не будем.

Создадим обработку «КонструкторЗапроса» и определяем ее в подсистему «ОтчетыИОбработки».

Создадим форму обработки и в ней добавляем реквизит формы «ТабДок» типа «Табличный документ», а так же команду «ВыполнитьЗапрос» с действием «ВыполнитьЗапрос». Далее, перетаскиваем их на форму.

В модуле формы, для работы команды, пишем процедуру:

&НаКлиенте

Процедура ВыполнитьЗапрос(Команда)

ВыполнитьЗапросСервер();

КонецПроцедуры

&НаСервере

КонецПроцедуры

Становимся внутри процедуры вызываемой на сервере и из контекстного меню вызываем «Конструктор запроса с обработкой результата» (рисунок 2.65).

Рисунок 2.65 Конструктор запроса с обработкой результата

Ставим тип обработки «Вывод в табличный документ» и нажимаем либо кнопку «Далее», либо закладку «Таблицы и поля».

На закладке «Таблицы и поля» конструктора можно просмотреть существующие на данный момент таблицы в системе (левая часть озаглавленная «База данных») (Рисунок 2.66).

Рисунок 2.67 Конструктор запроса

Таблицы, данные из которых будут получаться запросом, переносятся в область «Таблицы», необходимые запросу поля переносятся в область «Поля». Сделаем это как на рисунке 2.68.

Рис 2.68 Конструктор запроса

Здесь мы убрали, создаваемое по умолчанию, поле представления - «ПРЕДСТАВЛЕНИЕ (ПоступлениеТоваровТовары.Номенклатура)»

В любой момент работы с конструктором можно смотреть получаемый текст запроса. Для выполнения этой задачи необходимо нажать кнопку «Запрос», расположенную в левом нижнем углу формы конструктора (рисунок 2.69).

Можно вручную отредактировать текст запроса, нажав на кнопку «Редактировать» .

Практика. Нажимаем кнопку «ОК» и проверяем нашу обработку в пользовательском режиме. Если проанализировать данные, полученные при выполнении запроса, то можно встретить «повторы» номенклатурных позиций (если у вас это не получилось, то можно скопировать и провести любой документ «ПоступлениеТоваров»).

Возвращаемся в процедуру ВыполнитьЗапросСервер() в обработке «КонструкторЗапроса» и из контекстного меню опять вызываем «Конструктор запроса с обработкой результата» .

Если требуется «свернуть» результат запроса, то для этой цели можно использовать закладку «Группировка» конструктора запроса.

При определении группировок необходимо придерживаться следующего правила: все поля выборки запроса делятся на поля, по которым производится группировка (свертка), поля вложенных таблиц (суммируемые поля относительно тех, по которым ведется группировка) и на агрегатные функции. Определим группировки (Рисунок 2.70).

Рисунок 2.70 Конструктор запроса

Если данные, получаемые запросом должны выбираться по какому-либо условию, то в этом случае может потребоваться задействовать закладку «Условия». Выберем ПоступлениеТоваровТовары.Количество=10 (Рисунок 2.71).

Рисунок 2.71 Условие конструктора запроса.

Обратите внимание на тот факт, что в случае если условие определено таким же образом как на рисунке, то запрос выполняться не будет.

Исправить ситуацию можно двумя способами:

    Переопределив условие, отметив флаг «П...»;

    Воспользовавшись возможностью изменения самого текста запроса (получаемого при нажатии на кнопку «Редактировать Запрос»).

Само изменение вручную будет заключаться в том, что необходимо перед числом «10» убрать символ «&». Этим символом в тексте запроса определяются параметры запроса, в которые в дальнейшем (но перед выполнением запроса) должны быть записаны какие-либо значения. Нажмем на кнопку «РедактироватьЗапрос» и правим (Рисунок 2.72).

Рисунок 2.73 Редактирование запроса

На закладке «Дополнительно» можно отметить ряд флагов (касающихся ключевого слова «Выбрать» языка запросов) и определить состав таблиц предназначенных для изменения запроса (Рисунок 2.74).

Рисунок 2.74 Дополнительные функции запроса

На закладке «Объединения/Псевдонимы» можно изменить имена полей задав «Псевдонимы», но мы этого делать не будем.

На закладке «Порядок» можно определить порядок сортировки записей в результате запроса (Рисунок 2.75).

Рисунок 2.75 Порядок сортировки записей

Обратите внимание на флаг «Автоупорядочивание», он может использоваться для упорядочивания по полям ссылочного типа.

При определении раздела «Итоги» следует быть готовым к тому, что в результате запроса появится «дополнительные» итоговые записи. Вместе с этими записями результат запроса становится иерархическим (Рисунок 2.76).

Рисунок 2.76.Итоги конструктора запроса.

Допустимо указание нескольких типов итогов:

    Элементы (в выборке результата запроса присутствуют итоги по группировкам и детальные записи);

    Иерархия (в выборке результата запроса в общем случае присутствуют итоговые записи по иерархии, итоговые записи по группировке, детальные записи);

    Только иерархия (в выборке результата запроса в общем случае присутствуют итоговые записи по иерархии).

После нажатия на кнопку «Ок» конструктора, будет сформирован «Макет» и в модуле формы пропишется код процедуры ВыполнитьЗапросСервер():

&НаСервере

Процедура ВыполнитьЗапросСервер()

//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Макет = Обработки.КонструкторЗапросов.ПолучитьМакет("Макет");

Запрос = Новый Запрос;

Запрос.Текст =

| ПоступлениеТоваровТовары.Номенклатура КАК Номенклатура,

| СУММА(ПоступлениеТоваровТовары.Количество) КАК Количество,

| СУММА(ПоступлениеТоваровТовары.Сумма) КАК Сумма

| Документ.ПоступлениеТоваров.Товары

| КАК ПоступлениеТоваровТовары

| ПоступлениеТоваровТовары.Количество > 1

|СГРУППИРОВАТЬ ПО

| ПоступлениеТоваровТовары.Номенклатура

|УПОРЯДОЧИТЬ ПО

| Количество,

| Сумма УБЫВ

| СУММА(Количество),

| СУММА(Сумма)

| Номенклатура ИЕРАРХИЯ";

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьНоменклатураИерархия = Макет.ПолучитьОбласть("НоменклатураИерархия");

ОбластьНоменклатура = Макет.ПолучитьОбласть("Номенклатура");

ТабДок.Очистить();

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьШапкаТаблицы);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаНоменклатура = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаНоменклатура.Следующий() Цикл

Если ВыборкаНоменклатура.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда

Область = ОбластьНоменклатураИерархия;

Область = ОбластьНоменклатура;

КонецЕсли;

Область.Параметры.Заполнить(ВыборкаНоменклатура);

ТабДок.Вывести(Область, ВыборкаНоменклатура.Уровень());

КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();

ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

Платформа предлагает разработчику собственно Конструктор запроса и Конструктор запроса с обработкой результата. В первом случае, конструктор позволяет чисто визуальными средствами определить выборку данных из таблиц системы:

Во втором случае с результатом выборки могут быть сделаны определенные манипуляции:

Конструктор запросов работает как в режиме Предприятие (как обработка Консоль запросов), так и в Конфигураторе. Использование в режиме Предприятие позволяет квалифицированным пользователям самостоятельно получать выборки данных, для которых нет типовых отчетов.

Из Конфигуратора, конструктор может быть вызван правой кнопкой прямо из текста модуля:

либо стоя в модуле, из главного меню Текст:

Вопрос 04.41 экзамена 1С:Профессионал по платформе. Использование конструктора запросов позволяет:
  1. Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса и получение результата выполнения запроса
  2. Верны ответы 1 и 3
  3. Все вышеперечисленное
Правильный ответ четвертый - программный код обычный конструктор не создает, его создает Конструктор запроса с обработкой результата.

Вопрос 04.42 экзамена 1С:Профессионал по платформе. Использование конструктора запроса с обработкой результата позволяет:

  1. Сформировать текст нового запроса
  2. Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса, получение и обработку результата выполнения запроса
  3. Отредактировать текст имеющегося запроса
  4. Все вышеперечисленное
  5. Верны ответы 1 и 3
Правильный ответ четвертый, см. выше.
Вопрос 04.43 экзамена 1С:Профессионал по платформе. При сохранении текста запроса, открытого повторно с помощью конструктора запроса, без внесения в этот текст изменений:
  1. Весь первоначальный текст остается без изменений
  2. Из первоначального текста будут удалены только комментарии
  3. В первоначальном тексте комментарии останутся, а будут удалены только конструкции языка запросов построителя отчетов
  4. Из первоначального текста будут удалены и комментарии, и конструкции языка запросов построителя отчетов
Правильный ответ второй. Добавим в текст запроса комментарий вручную:

Откроем данный запрос через Конструктор и закроем конструктор по Ок. Комментарий затрется:

Вопрос 04.44 экзамена 1С:Профессионал по платформе. Конструктор запросов может быть вызван:
  1. С помощью пункта главного меню "Текст - Конструктор запроса…"
  2. С помощью кнопки "Конструкторы - Конструктор запросов" на закладке "Макеты" из окна редактирования объекта
  3. С помощью пункта всплывающего контекстного меню "Конструктор запроса…", появляющегося при нажатии в тексте модуля правой клавиши мыши
  4. Верно все вышеперечисленное
  5. Верны ответы 1 и 3
Правильный ответ пятый, на закладке Макеты конструктора запроса нет, только конструктор печати :
Вопрос 04.45 экзамена 1С:Профессионал по платформе. Кем может использоваться конструктор запросов?
  1. Разработчиками, так как необходимо знание языка запросов
  2. Квалифицированными пользователями без использования конфигуратора
  3. Верно все вышеперечисленное
  4. Нет верного ответа
Правильный ответ третий.

Вопрос 04.46 экзамена 1С:Профессионал по платформе. На закладке "Таблицы и поля" конструктора запросов задают:

  1. Источники данных запросов, в качестве которых могут выступать реальные и виртуальные таблицы
  2. Набор полей из таблиц - источников данных запроса
  3. Поля в виде произвольного выражения
  4. Верны ответы 1 и 2
  5. Верно все вышеперечисленное
Правильный ответ пятый - можно задавать таблицы реальные, виртуальные (типа Среза последних), и произвольно вычисляемые поля:
Вопрос 04.47 экзамена 1С:Профессионал по платформе. Для создания в конструкторе запросов вложенного запроса необходимо:
  1. Открыть закладку "Таблицы и поля". В командной панели над деревом "База данных" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  2. Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  3. Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  4. В конструкторе запросов создать вложенный запрос нельзя
Правильный ответ второй. Добавляем запрос:

Результат:

Вопрос 04.48 экзамена 1С:Профессионал по платформе. Для создания в конструкторе запросов вычисляемого поля необходимо:
  1. Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Изменить текущий элемент". В открывшемся окне добавить новое поле
  2. Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  3. Открыть закладку "Объединения/Псевдонимы". В командной панели над списком полей нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  4. Создать вычисляемое поле, можно только изменив текст запроса "вручную"
Правильный ответ второй:
Вопрос 04.49 экзамена 1С:Профессионал по платформе. Для создания в запросе строк, сгруппированных с помощью агрегатных функций, на закладке "Группировка" конструктора запросов обязательно должны быть заполнены:
  1. Только список групповых полей. Указание суммируемых полей не обязательно
  2. Только список суммируемых полей, при этом остальные поля автоматически попадут в секцию СГРУППИРОВАТЬ ПО в тексте запроса
  3. Обязательным является указание как групповых, так и суммируемых полей
Правильный ответ второй. Укажем в конструкторе одно суммироемое поле:

По остальным полям будет произведена группировка в тексте запроса:

Вопрос 04.50 экзамена 1С:Профессионал по платформе. В конструкторе запросов условия на значения агрегатных функций можно накладывать:
  1. На закладке "Группировка", в списке суммируемых полей при выборе агрегатной функции
  2. На закладке "Условия"
  3. На закладке "Итоги", в списке итоговых полей при выборе агрегатной функции
  4. В конструкторе запросов задать условия на значения агрегатных функций нельзя
Правильный ответ второй - на закладке Условия можно прописать функцию языка запросов Имеющие, которая и сделает отбор по агрегатам:

Одним из основных инструментов обработки данных в СУБД являются запросы. В Microsoft Access имеется удобное для пользователя графическое средство формирования запроса по образцу — QBE (Query By Example), с помощью которого легко может быть построен сложный запрос.

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

С помощью запроса можно выполнить следующие виды обработки данных:

  • выбрать записи, удовлетворяющие условиям отбора;
  • включить в результирующую таблицу запроса заданные пользователем поля;
  • произвести вычисления в каждой из полученных записей;
  • сгруппировать записи с одинаковыми значениями в одном или нескольких полях для выполнения над ними групповых функций;
  • произвести обновление полей в выбранном подмножестве записей;
  • создать новую таблицу базы данных, используя данные из существующих таблиц;
  • удалить выбранное подмножество записей из таблицы базы данных;
  • добавить выбранное подмножество записей в другую таблицу.

Последовательное выполнение ряда запросов позволяет решать достаточно сложные задачи, не прибегая к программированию.

В Access может быть создано несколько видов запроса:

  • Запрос на выборку — выбирает данные из взаимосвязанных таблиц и других запросов. Результатом его является таблица, которая существует до закрытия запроса.
  • Запрос на создание таблицы — основан на запросе выборки, но в отличие от него результат запроса сохраняется в новой таблице.
  • Запросы на обновление, добавление, удаление — являются запросами действия, в результате выполнения которых изменяются данные в таблицах.

Окно запроса

Окно конструктора запросов разделено на две панели. Верхняя панель содержит схему данных запроса , которая включает выбранные для данного запроса таблицы. Таблицы представлены списками полей. Нижняя панель является бланком запроса по образцу, который нужно заполнить.

Схема данных запроса

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

Бланк запроса по образцу

Бланк запроса по образцу представлен в виде таблицы в нижней панели окна запроса. До формирования запроса эта таблица пуста.

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

При заполнении бланка запроса необходимо:

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

Поля бланка запроса

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

Для включения нужных полей из таблиц в соответствующие столбцы запроса можно воспользоваться следующими приемами:

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

В списке полей каждой таблицы на первом месте стоит символ * , который означает "все поля таблицы". Этот пункт выбирается, если в запрос включаются все поля.

Для удаления поля в бланке запроса надо выделить удаляемый столбец, щелкнув кнопкой мыши в области маркировки столбца, и нажать клавишу DEL или выполнить пункт меню Правка/Удалить столбец .

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

Условия отбора записей

Условием отбора является выражение, которое состоит из операторов сравнения и операндов, используемых для сравнения. В качестве операндов выражения могут использоваться: литералы , константы , идентификаторы (ссылки).

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

Константами являются не изменяющиеся значения, например, True, False, Да, Нет, Null (константы автоматически определяются в Access).

Идентификатор представляет собой ссылку на значение поля, элемент управления или свойство. Идентификаторами могут быть имена полей, таблиц, запросов, форм, отчетов и т.д. Они должны заключаться в квадратные скобки. Во многих случаях Access производит автоматическую подстановку скобок. Если необходимо указать ссылку на поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например, [Имя таблицы]![Имя поля] .

В выражении условия отбора допускается использование операторов сравнения и логических операторов: =, <, >, <>, Between , In , Like , And , Or , Not , которые определяют операцию над одним или несколькими операндами. Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =.

Текстовые значения в выражении вводятся в кавычках, если они содержат пробелы или знаки препинания. В противном случае кавычки можно не вводить, они будут добавлены автоматически.

Допускается использование операторов шаблона — звездочка * и вопросительный знак?.

Оператор Between позволяет задать интервал для числового значения. Например,

Between 10 And 100

задает интервал от 10 до 100.

Оператор In позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Например,

In ("Математика", "Информатика", "История")

Оператор Like позволяет использовать образцы, использующие символы шаблона, при поиске в текстовых полях. Например,

Like "Иванов*"

Условия отбора, заданные в одной строке, связываются с помощью логической операции "И", заданные в разных строках — с помощью логической операции "ИЛИ". Эти операции могут быть заданы явно в выражении условия отбора с помощью операторов AND и OR соответственно.

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

После ввода выражения в бланк и нажатия клавиши Enter Access выполняет синтаксический анализ выражения и отображает его в соответствии с результатами этого анализа.

Контрольные вопросы

  1. Для чего предназначены запросы?
  2. Какие виды обработки данных выполняют запросы?
  3. Какие типы запросов реализованы в Access?
  4. Из каких частей состоит окно конструктора запроса?
  5. Обязательно ли наличие схемы данных проекта при разработке запроса?
  6. Опишите способы заполнения первых двух строк полей бланка запроса.
  7. Что такое условие отбора записей? Как его задать? Приведите примеры.
  8. Каковы общие шаги технологий создания запросов на создание, на обновление и на добавление?
  9. В чем сходство и различие между таблицами БД и запросами?