- •Разработка и реализация запросов (2004 г.)
- •Назначение и виды запросов.
- •1. На основе таблицы “Сводка” создать запрос, результатом которого будет таблица, содержащая 3 поля: название судна, длительность хода и стоянки.
- •Модификация данных с помощью запросов-действий.
- •Перекрестные запросы.
- •Подчиненные запросы.
Модификация данных с помощью запросов-действий.
Назначение запросов-действий: обновление и удаление группы записей, вставка данных из другой таблицы, создание новой таблицы.
Технология построения запроса на обновление: у судов Балтийский-5 увеличить количество перевезенного груза на 25%:
создайте запрос выборку, используя условие отбора, например, выбрать суда типа Балтийский-5
преобразуйте запрос-выборку в запрос-действие, для этого, не выходя из окна запросов, выполните команду меню Запрос-Обновление
в результате изменится заголовок запроса и в бланке QBE появится строка обновление, в которую можно внести новое значение для поля, подлежащего изменению: [kol]*1,25. Щелкните по кнопке режим просмотра таблицы, чтобы просмотреть список тех записей, которые будут обновлены.
выполните созданный запрос-действие (команда Запрос-Выполнить, либо по кнопке с восклицательным знаком на панели инструментов).
Особый случай возникает, когда обновляются значение первичного ключа. в таблице. Если эта таблица связана отношением «один-ко-многим», то при изменении первичного ключа должны одновременно изменяться значения внешних ключей во всех связанных записях дочерних таблиц.
Система отмечает запросы-действия специальными значками, изображения которых в окне базы данных содержат восклицательный знак.
Предположим, что каждый месяц надо удалять устаревшие данные из таблицы. Поэтому такой реквизит, как отчетный месяц необходимо ввести в запрос, как параметр. А далее изменить запрос-выборку на запрос- действие, как указано выше.
Перекрестные запросы.
Перекрестные запросы позволяют компактно отображать однородную информацию. Полученные таблицы удобны для создания диаграмм и графиков. В нашем примере можно построить запрос следующего вида:
название судна |
май |
июнь |
июль |
август |
сентябрь |
октябрь |
итого |
|
Tx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рассмотрим процесс разработки запроса с помощью Мастера.
В окне базы данных выберите ярлык Запросы и нажмите кнопку Создать. В окне Новый запрос выберите. Перекрестный запрос.
В диалоговом окне выберите таблицу или запрос, на основе которых Мастер создаст перекрестный запрос. В нашем примере выберем таблицу Сводка. Нажмите кнопка Далее.
В следующем окне выберите поле, значения которого будет использоваться в качестве заголовков строк. В нашем примере это поле ns.
В следующем окне выберите поле, значения которого будет использоваться в качестве заголовков столбцов. В нашем примере это поле mes.
В следующем окне укажите, значения какого поля должны находиться в ячейках результирующей таблицы. Выберите операцию обработки этих данных. Пусть это будет сумма ходового времени. Для нахождения суммы по строкам установите опцию Да в области Вычислить итоговое значение для каждой строки.