Перекрестные запросы

Модификация данных с помощью запросов-действий.

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

Технология построения запроса на обновление: у судов Балтийский-5 увеличить количество перевезенного груза на 25%:

· создайте запрос выборку, используя условие отбора, например, выбрать суда типа Балтийский-5

· преобразуйте запрос-выборку в запрос-действие, для этого, не выходя из окна запросов, выполните команду меню Запрос-Обновление

· в результате изменится заголовок запроса и в бланке QBE появится строка обновление, в которую можно внести новое значение для поля, подлежащего изменению: [kol]*1,25. Щелкните по кнопке режим просмотра таблицы, чтобы просмотреть список тех записей, которые будут обновлены.

· выполните созданный запрос-действие (команда Запрос-Выполнить, либо по кнопке с восклицательным знаком на панели инструментов).

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

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

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

Перекрестные запросы.

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

название судна май июнь июль август сентябрь октябрь итого
  Tx            
               

Рассмотрим процесс разработки запроса с помощью Мастера.

1. В окне базы данных выберите ярлык Запросы и нажмите кнопку Создать. В окне Новый запрос выберите. Перекрестный запрос.

2. В диалоговом окне выберите таблицу или запрос, на основе которых Мастер создаст перекрестный запрос. В нашем примере выберем таблицу Сводка. Нажмите кнопка Далее.

3. В следующем окне выберите поле, значения которого будет использоваться в качестве заголовков строк. В нашем примере это поле ns.

4. В следующем окне выберите поле, значения которого будет использоваться в качестве заголовков столбцов. В нашем примере это поле mes.

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

Подчиненные запросы.

Подчиненным запросом (запросом в запросе) называется инструкция SQL Select, находящаяся внутри другого запроса на выборку или запроса на изменение.

Использование подчиненных запросов замедляет работу основного запроса, поэтому их применение нежелательно. Можно их заменить правильно построенными связями.

Приведем примеры использования подчиненных запросов.

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

Для этого сначала построить запрос, вычисляющий среднее значение времени. Это запрос и называется подчиненным, он выдает только одно значение.

Для этого сделать одно вычисляемое поле- Среднее время: AVG(TX). Выполнить и отладить запрос. Затем перейти в режим SQL, скопировать это выражение, а затем вставить, заключая его в круглые скобки в условие отбора основного запроса поля ТХ (в основном запросе два поля NS и TX).

В строку «условии» вставить >(SELECT Avg([сводка]![tx]) AS среднее FROM сводка).

Свойства полей запроса. По умолчанию поля запроса наследуют свойства базовой таблицы. Можно установить свойства на период работы запроса.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: