Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие[2].doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.74 Mб
Скачать

6.7 Типы запросов

6.7.1 Запрос на обновление

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

Рассмотрим создание такого запроса на следующем примере: нам необходимо изменить цену товара в 1,05 раза. Для этого создаем запрос на выборку, в котором будет одно поле – «Цена».

Теперь можно изменить созданный запрос так, чтобы он обновлял строки таблицы. По умолчанию Access всегда создает запрос на выборку. В режиме конструктора в меню «Запрос» присутствуют команды для запросов на изменение: «Создание таблицы», «Обновление», «Добавление», «Удаление» (рисунок 6.24). Кроме того для преобразования типа запроса можно воспользоваться раскрывающимся списком кнопки «Тип запроса» на панели инструментов. В данном случае необходимо выбрать пункт «Обновление», чтобы преобразовать запрос на выборку в запрос на обновление.

Рисунок 6.24 – Выбор типа запроса

При подобном преобразовании Access изменяет заголовок окна и добавляет строку «Обновление» в бланке запроса. Она используется для ввода новых значений (или выражений), которые должны заменить в отобранных записях существующие данные. В рассматриваемом примере нам нужно изменить цену товара в 1,05 раза. Для этого можно использовать построитель выражений или можно просто, находясь в строке «Обновление», набрать следующее выражение: [Цена($)]*1,05 (рисунок 6.25).

Если вы хотите полностью обезопасить себя от случайностей, то перед выполнением запроса на обновление лучше сделать резервную копию таблицы. Для этого надо перейте в окно базы данных, выбрать таблицу, которая будет обновляться, и воспользоваться командой «Правка – Копировать». Потом выбрать команду «Правка – Вставить» и, когда Access выведет на экран соответствующее окно диалога, присвоить копии новое имя.

Рисунок 6.25 – Запрос на обновление

Чтобы выполнить запрос на обновление, надо выбрать команду «Запрос – Запуск» или нажать кнопку «Запуск» на панели инструментов. Access просмотрит таблицу и определит количество обновляемых строк, а затем выведет окно диалога. Чтобы произвести обновление данных, надо нажать кнопку Да в окне диалога. (Если число обновляемых строк в окне диалога не соответствует ожидаемому количеству или вы не уверены, что Access обновит нужные записи или поля, нажмите кнопку Нет, чтобы отказаться от обновления данных.) После выполнения запроса можно проверить содержимое таблицы, чтобы убедиться, что изменения произведены правильно. Проще всего эту проверку сделать с помощью запроса на выборку.

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

Перед обновлением записи в базовой таблице или запросе Access делает копию исходной записи. Он применяет заданные выражения к исходной записи и помещает результат в копию. Затем он изменяет содержимое базы данных, переписывая обновленную копию в таблицу. Так как обновления выполняются в копии исходной записи, можно при желании поменять значение поля с именем А на значение поля с именем В, и наоборот, задав в строке «Обновление» для поля А выражение [В], а для поля В – [А]. Если бы Access выполнял изменение прямо в исходной записи, то для выполнения операции обмена значениями потребовалось бы третье поле, так как присвоение полю А значения поля В изменило бы содержимое поля А.