- •Создание запросов в субд Access
- •6. Выборка данных в конструкторе запросов
- •6.1. Окно конструктора запросов
- •6.2. Построение условий для выбора записей
- •6.3. Упорядочение данных и группировка полей запроса
- •6.4. Общие сведения о команде select
- •6.5. Интерактивные и перекрестные запросы
- •6.6. Запросы на изменение
- •6.6.1. Виды запросов на изменение
- •6.6.2. Запрос на создание таблицы
- •6.6.3. Запрос на обновление
- •6.6.4. Запрос на добавление записей
- •6.6.5. Запрос на удаление записей
- •6.7. Примеры запросов на sql
- •6.8. Контрольные вопросы
- •6.9. Задания для самопроверки
6.6.3. Запрос на обновление
Запросы на обновление данных используются для избежания ошибок и экономии времени при обновлении каждой записи отдельно.
Для создания запроса на обновление выполните такие действия:
-
Создайте запрос на выборку. Посмотрите в режиме таблицы данные, которые собираетесь изменять.
-
Преобразуйте запрос на выборку в запрос на обновление. Убедитесь в том, что это запрос распространяется только на нужные записи, а затем запустите его.
-
Проверьте результаты.
Например, имеются сведения, что все москвичи, посетившие терапевтов здоровы. Необходимо занести диагноз Здоров в соответствующий столбец таблицы Визиты.
Для начала создайте необходимый запрос на выборку, для этого выполните следующие действия:
1. Создайте новый запрос, используя таблицы PatientTab, DoctorTab, VisitTab.
2. Из таблицы PatientTab выберите Pat_FullName ; из таблицы DoctorTab - Doc_FullName, Doc_Special; из таблицы VisitTab - Vis_Complaint.
3. В строке Условия отбора (Criteria) для поля Doc_Special введите: ="Терапевт" (рис. 23).
Рис. 23. Создание запроса на выборку для последующего преобразования в запрос на обновление
-
Перейдите в режим таблицы и убедитесь, что в таблице содержатся только необходимые записи (рис. 24). После этого вернитесь в режим Конструктора.
После создания запроса на выборку и проверки правильности полей можно переходить к созданию запроса на обновление. Для пре-
Рис. 24. Результирующая таблица запроса на выборку пациентов, посетивших терапевта
образования запроса на выборку в запрос на обновление выполните следующие действия:
-
Нажмите кнопку Обновление (Update) на Ленте в режиме Конструктора.
-
Появится новая строка Обновление. В этой строке для поля Complaint введите Здоров (рис. 25).
Рис. 25. Структура запроса на обновление
-
Щелкните на кнопке Запуск (Run) панели инструментов. При этом появится окно сообщения, запрашивающее подтверждение обновления записей. Щелкните на кнопке Да (Yes).
-
Откройте таблицу Визиты, посмотрите результат работы запроса.
В некоторых случаях необходимо автоматизировать обновление значений в таблицах. Сделать это можно, назначив определенному событию запрос на обновление. Для этого:
-
Создайте форму, либо выберите форму, в которой будет присутствовать поле, которое необходимо обновлять.
-
Создайте запрос на обновление, как это было описано выше. При этом выберите поле таблицы, которое необходимо обновлять и те поля, которые его определяют. В строке Обновление у обновляемого поля введите формулу, по которой будет рассчитываться новое значение.
-
Сохраните запрос, присвоив ему имя, к примеру "запрос на обновление значения".
-
Откройте форму в режиме конструктора.
-
Выберите необходимое поле и откройте его свойтсва.
-
Во вкладке События выберите поле После обновления и нажмите на значок построителя (многоточие).
-
В открывшемся окне выберите пункт Макросы и нажмите ОК.
-
Выберите макрокоманду ОткрытьЗапрос, затем в поле Имя запроса выберите созданный ранее запрос.
-
Сохраните изменения.
-
Теперь можно открыть форму и попробовать изменить значение в поле. После внесения изменений появится запрос на подтверждение обновления. Выберите Да.
-
Проверьте изменение значения в таблице. Оно должно измениться.