Создание запросов на обновление таблиц

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

Обновление записей

1. На вкладке Конструктор в группе Тип запроса выберите команду Обновление.

2. Выберите поле с данными, которые следует обновить, и введите выражение (условие изменения) в строке Обновление для этого поля.

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

Выражение Результат
«Продавец» В текстовом поле заменяет текстовое значение на строку «Продавец»
#10.08.07# В поле типа «Дата/время» изменяет значение даты на «10-авг-07»
Да В поле типа «Логический» изменяет значение Нет на Да.
«ИН» & [ИнвНомер] Добавляет строку «ИН» к началу каждого указанного инвентарного номера
[Цена] * [Количество] Перемножает значения полей с именами «Цена» и «Количество».
[СтоимостьДоставки] * 1,5 Увеличивает значения в поле «СтоимостьДоставки» на 50 процентов.
DSum(«[Количество] * [Цена]», «Заказано», «[КодТовара]=» & [КодТовара]) Если значение поля «КодТовара» в текущей таблице совпадает со значением поля «КодТовара» в таблице «Заказано», данное выражение обновляет итоговые значения продаж, рассчитывая их как произведение значений в полях «Цена» и «Количество». Выражение использует функцию DSum, так как данная функция может выполнять операции с несколькими таблицами и полями таблиц.
Right([Индекс], 5) Обрезает (удаляет) символы слева в текстовой или числовой строке, оставляя пять правых символов.
IIf(IsNull([Цена]), 0, [Цена]) Заменяет пустое (неизвестное или неопределенное) значение на нуль (0) в поле с именем «Цена».

3. На вкладке Конструктор в группе Результаты выберите команду Запуск.

4. Появится предупреждающее сообщение.

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

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

Обновление данных в одной таблице данными из другой таблицы

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

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

Процесс обновления данных в одной таблице данными из другой состоит из следующих основных этапов.

1. Создайте запрос на обновление и добавьте исходную и конечную таблицы в запрос.

2. Объедините эти таблицы по полям, содержащим связанные сведения.

3. Добавьте имена конечных полей в строку Поле бланка запроса.

4. Добавьте имена исходных полей в строку Обновление бланка запроса с использованием следующего синтаксиса: [исходная_таблица].[исходное_поле].

Создание и выполнение запроса на обновление

1. На вкладке Создание в группе Другие щелкните Конструктор запросов.

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

3. Объедините эти таблицы по полям, содержащим связанные сведения. Для этого выберите поле в одной таблице и перетащите его на соответствующее поле во второй таблице.

При этом в приложении Access создается связь между этими полями в двух таблицах, и данная связь используется для объединения всех связанных записей.

4. На вкладке Конструктор в группе Тип запроса выберите команду Обновление.

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

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

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

7. На вкладке Конструктор в группе Результаты выберите команду Запуск.

8. Нажмите кнопку Да для подтверждения обновления.


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



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