Для надежности сначала следует создать запрос на выборку, просмотреть, какие записи будут изменены, а потом преобразовать запрос в запрос на обновление.
Обновление записей
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. Нажмите кнопку Да для подтверждения обновления.