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

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

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

Для добавления новых записей используется запрос на добавление, для удаления записей — запрос на удаление.

Примечание : Статья неприменима к веб-приложениям Access — новому типу баз данных, которые создаются в Access и публикуются в Интернете.

В этой статье

Обзор

Использование запроса на обновление

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

Выполнение запроса, заблокированного из-за режима отключения содержимого

Версия SQL: инструкция UPDATE

Обзор

Ниже представлены сходства и различия между функцией "Поиск и замена" и запросом на обновление

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

В отличие от функции Поиск и замена запрос на обновление позволяет:

  • использовать условия, которые не зависят от заменяемого значения;

  • обновлять несколько записей за раз;

  • изменять записи в нескольких таблицах одновременно.

Ограничения обновления полей

Запрос на обновление нельзя использовать для обновления данных в полях указанных ниже типов.

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

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

  • Поля с типом данных "Счетчик".    Значения в полях с типом данных "Счетчик" изменяются только при добавлении записи в таблицу.

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

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

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

    Примечание : При каскадном обновлении Access автоматически обновляет значения внешнего ключа при изменении значения первичного ключа в родительской таблице.

К началу страницы

Использование запроса на обновление

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

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

Создание резервной копии базы данных

  1. Откройте вкладку Файл и выберите команду Сохранить как. Обратите внимание: если вы используете Access 2010, откройте вкладку Файл и выберите команду Сохранить и опубликовать. Если вы используете Access 2007, нажмите кнопку Microsoft Office и выберите команды Управление > Резервная копия базы данных.

  2. Справа в разделе Расширенная установка щелкните элемент Создать резервную копию базы данных.

  3. В диалоговом окне Сохранение резервной копии укажите имя и расположение резервной копии и нажмите кнопку Сохранить.

    Приложение Access закроет исходный файл, создаст резервную копию и снова его откроет.

    Чтобы вернуться к резервной копии, закройте и переименуйте исходный файл, чтобы получить возможность использовать имя исходной версии. Назначьте резервной копии имя исходной версии и откройте переименованную резервную копию в Access.

В этом разделе

Этап 1. Создание запроса на выборку для определения обновляемых записей

Этап 2. Обновление записей

Этап 1. Создание запроса на выборку для определения обновляемых записей

  1. Откройте базу данных, содержащую записи, которые нужно обновить.

  2. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов. Если вы используете Access 2007, на вкладке Создание в группе Другие нажмите кнопку Конструктор запросов.

    Откроется конструктор запросов и диалоговое окно Добавление таблицы.

  3. Откройте вкладку Таблицы.

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

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

    Таблица в конструкторе запросов

    1. Таблица в окне конструктора запросов

    2. Бланк запроса

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

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

    Чтобы быстро добавить все поля в таблице, дважды щелкните звездочку (*) в верхней части списка полей таблицы в окне таблицы. На рисунке показан бланк запроса со всеми добавленными полями.

    Запрос со всеми добавленными полями таблицы

  6. Чтобы ограничить результаты запроса на основе значений полей, в бланке запроса в строке Условие введите условие, которое необходимо использовать для ограничения результатов.

    Таблица примеров условий

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

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

    Условие

    Результат

    >234

    Возвращает все числа больше 234. Чтобы найти все числа меньше 234, используйте условие < 234.

    >= " Новосибирск "

    Возвращает все записи от "Новосибирск" до конца алфавита.

    Between #02.02.2017# And #01.12.2017#

    Выбирает даты между 2-фев-17 и 1-дек-17 (ANSI-89). Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо знаков решетки (#) одинарные кавычки ('). Пример: Between '02.02.2017' And '01.12.2017'.

    Not "Германия"

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

    Not "Т*"

    Находит все записи кроме тех, которые начинаются с буквы "Т". Если в базе данных применяются подстановочные знаки ANSI-92, используйте знак процента (%) вместо звездочки (*).

    Not "*т"

    Находит все записи, которые не оканчиваются буквой "т". Если в базе данных применяются подстановочные знаки ANSI-92, используйте знак процента (%) вместо звездочки (*).

    In(Канада,Великобритания)

    Находит все записи в списке со словами "Канада" или "Великобритания".

    Like "[А-Г]*"

    В текстовом поле выполняется поиск всех записей, которые начинаются на одну из первых четырех букв алфавита (А-Г). Если в базе данных применяются подстановочные знаки ANSI-92, используйте знак процента (%) вместо звездочки (*).

    Like "*ар*"

    Находит все записи, которые содержат сочетание букв "тр". Если в базе данных применяются подстановочные знаки ANSI-92, используйте знак процента (%) вместо звездочки (*).

    Like "Григорий Верны?"

    Находит все записи, начинающиеся с имени "Григорий" и содержащие вторую строку из 9 букв, из которых 6 букв составляют начало фамилии "Верный", а последняя буква неизвестна. Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо вопросительного знака (?) знак подчеркивания (_).

    #02.02.2017#

    Находит все записи за 2 февраля 2017 г. Если в базе данных применяется набор подстановочных знаков ANSI-92, вместо знаков решетки (#) дату необходимо заключить в одинарные кавычки ('). Пример: '02.02.2017'.

    < Date() - 30

    Использует функцию Date для возврата всех дат не менее 30-дневной давности.

    Date()

    Использует функцию Date для возврата всех записей, содержащих текущую дату.

    Between Date( ) And DateAdd("M", 3, Date( ))

    Использует функции Date и DateAdd для возврата всех записей между текущей датой и датой на три месяца позже.

    Is Null

    Возвращает все записи, содержащие пустое (незаполненное или неопределенное) значение.

    Is Not Null

    Возвращает все записи, содержащие непустое значение.

    ""

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

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

  8. Убедитесь, что запрос возвращает те записи, которые следует обновить.

  9. Чтобы удалить поля, которые не нужно включать в конструктор запросов, выделите их и нажмите клавишу DELETE.

  10. Чтобы добавить поля в конструктор запросов, перетащите их в бланк запросов.

Этап 2. Обновление записей

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

    В описанной здесь процедуре показано, как преобразовать запрос на выборку в запрос на обновление. При такой операции Access добавляет строку Обновление в бланк запроса. На приведенном ниже рисунке показан запрос на обновление, возвращающий все активы компании, приобретенные после 5 января 2005 г., и изменяющий расположение на "Склад 3" для всех записей, соответствующих этому условию.

    Запрос на обновление с одним условием обновления

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

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

    Таблица примеров выражений

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

    Выражение

    Результат

    "Продавец"

    В поле типа "Текстовый" заменяет текстовое значение строкой "Продавец".

    #10.08.17#

    В поле типа "Дата/время" изменяет значение даты на "10-авг-17".

    Да

    В поле типа "Да/Нет" изменяет значение Нет на Да.

    "PN" & [ИнвНомер]

    Добавляет буквы "PN" к началу каждого указанного инвентарного номера.

    [Цена] * [Количество]

    Перемножает значения полей с именами "Цена" и "Количество".

    [СтоимостьДоставки] * 1,5

    Увеличивает значения в поле "СтоимостьДоставки" на 50 процентов.

    DSum("[Количество] * [Цена]",
    "Заказано", "[КодТовара]=" &  [КодТовара])

    Если значение поля "КодТовара" в текущей таблице совпадает со значением поля "КодТовара" в таблице "Заказано", данное выражение обновляет итоговые значения продаж, рассчитывая их как произведение значений в полях "Цена" и "Количество". Выражение использует функцию DSum, так как она может выполнять операции с несколькими таблицами и полями таблиц.

    Right([Индекс], 5)

    Обрезает (удаляет) левые символы в текстовой или числовой строке, оставляя пять правых символов.

    IIf(IsNull([Цена]), 0, [Цена])

    Заменяет пустое (неизвестное или неопределенное) значение нулем (0) в поле с именем "Цена".

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

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

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

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

К началу страницы

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

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

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

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

  1. Создание запроса на обновление и добавление в него исходной и целевой таблиц.

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

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

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

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

Таблица "Покупатели"

Код покупателя

Имя

Адрес

Город

Область

Почтовый индекс

Страна

Телефон

Контакт

1

Музей научных достижений

Загородное шоссе, д. 150

Москва

Московская обл.

987654

РФ

(551) 999-01-01

Верный Григорий

2

Авиакомпания "Урал-тур"

ул. Гарибальди, д. 170

Пермь

Пермская обл.

995522

РФ

(5501) 99-01-01

Корепин Вадим

3

Винный завод

ул. Кедрова, д. 54

Красноярск

Красноярский край

876444

РФ

(5502) 99-02-01

Ожогина Инна

4

Фармацевтическая фабрика

ул. Губкина, д. 233

Тверь

Тверская обл.

897884

РФ

(5503) 99-01-03

Новиков Николай

5

Кофейная фабрика

пл. Хо Ши Мина, д. 15, кв. 5

Москва

876555

РФ

(5504) 99-01-04

Шашков Руслан

6

Почтовая служба

Лихов пер., 991

Красноярск

Красноярский край

876444

РФ

(5502) 99-02-01

Горноженко Дмитрий

7

НИИ железа

Ул. Тенистая, д. 698

Москва

Московская обл.

344554

РФ

(5505) 99-03-01

Грачев Николай

8

Корпорация "Софт"

ул. Заречная, 503

Москва

ИЛИ

134158

РФ

(5501) 99-01-01

Ильина Юлия

9

Лесопитомник

ул. Заречная, 504

Москва

ИЛИ

134158

РФ

(5501) 99-01-01

Сергиенко Мария

Таблица "Клиенты"

Код клиента

Имя

Адрес

Город

Область

Почтовый индекс

Страна

Телефон

Руководитель

1

Музей научных достижений

Загородное шоссе, д. 150

Москва

Московская обл.

987654

РФ

(551) 999-01-01

Песоцкий Станислав

2

Авиакомпания "Урал-тур"

ул. Гарибальди, д. 170

Пермь

Пермская обл.

995522

РФ

(5501) 99-01-01

Корепин Вадим

3

Винный завод

ул. Кедрова, д. 54

Красноярск

Красноярский край

876444

РФ

(5502) 99-02-01

Ожогина Инна

4

Фармацевтическая фабрика

ул. Губкина, д. 233

Тверь

Тверская обл.

897884

РФ

(5503) 99-01-03

Новиков Николай

5

Кофейная фабрика

Орликов пер, д. 896

Москва

876555

РФ

(5504) 99-01-04

Шашков Руслан

6

Почтовая служба

Лихов пер., 991

Красноярск

Красноярский край

876444

РФ

(5502) 99-02-01

Подколзина Екатерина

7

НИИ железа

ул. Строителей, д. 150, кв. 78

Москва

Московская обл.

344554

РФ

(5505) 99-03-01

Попкова Дарья

8

Корпорация "Софт"

ул. Заречная, 503

Москва

ИЛИ

134158

РФ

(5501) 99-01-01

Верный Григорий

9

Лесопитомник

ул. Заречная, 504

Москва

ИЛИ

134158

РФ

(5501) 99-01-01

Сергиенко Мария

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

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

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

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов. Если вы используете Access 2007, на вкладке Создание в группе Другие нажмите кнопку Конструктор запросов.

  2. В диалоговом окне Добавление таблицы откройте вкладку Таблицы.

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

  4. В большинстве случаев Access автоматически объединяет связанные поля в запросе. Чтобы объединить поля со связанными сведениями вручную, перетащите их из одной таблицы в другую на место аналогичных полей.

    Например, при использовании приведенных выше образцов таблиц перетащите поле "Код клиента" на поле "Код заказчика". Access создаст связь между этими полями в двух таблицах и будет использовать ее для объединения связанных записей.

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

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

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

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

    На рисунке показано, как выглядит часть бланка запроса при использовании образцов таблиц. Обратите внимание на синтаксис имен таблицы и поля в строке Обновление.

    Запрос, обновляющий одну таблицу данными из другой таблицы

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

  8. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

  9. В ответ на запрос подтверждения нажмите кнопку Да.

Ограничения преобразования типов данных

В приведенной ниже таблице представлен перечень типов данных Access и описаны ограничения преобразования типов данных и возможные при этом потери данных.

Конечный тип данных

Преобразуемый тип данных

Изменения и ограничения

Текстовый

Поле MEMO

255 первых знаков остаются, остальные удаляются.

Числовой

Нет ограничений.

Дата/время

Нет ограничений.

Денежный

Нет ограничений.

Счетчик

Нет ограничений.

Логический

Значение -1 ("Да" в логическом поле) преобразуется в "Да". Значение 0 ("Нет" в логическом поле) преобразуется в "Нет".

Гиперссылка

Access обрезает ссылки длиннее 255 знаков.

Поле MEMO

Текстовый

Нет ограничений.

Числовой

Нет ограничений.

Дата/время

Нет ограничений.

Денежный

Нет ограничений.

Счетчик

Нет ограничений.

Логический

Значение -1 ("Да" в логическом поле) преобразуется в "Да". Значение 0 ("Нет" в логическом поле) преобразуется в "Нет".

Гиперссылка

Нет ограничений.

Числовой

Текстовый

Текст может включать только числа, допустимые денежные значения и разделители целой и дробной частей. Число знаков в поле с типом данных "Текстовый" не должно превышать соответствующий размер поля, заданный для типа данных "Числовой".

Поле MEMO

Поле МЕМО должно содержать только текст и допустимые разделители целой и дробной частей. Число знаков в поле МЕМО не должно превышать соответствующий размер поля, заданный для типа данных "Числовой".

Числовой (с другим размером поля или другой точностью)

Значения не должны быть больше или меньше, чем размер нового поля. Из-за изменения точности приложение Access может округлить некоторые значения.

Дата/время

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

Дата 30 декабря 1899 г. имеет порядковый номер 0. Даты, не входящие в интервал от 18 апреля 1899 г. до 11 сентября 1900 г., превышают размер поля "Байт". Даты, не входящие в интервал от 13 апреля 1810 г. до 16 сентября 1989 г., превышают размер поля "Целое".

Чтобы вместить все возможные даты, присвойте свойству Размер поля числового поля значение Длинное целое или больше.

Денежный

Значения не должны выходить за верхний и нижний пределы размера, заданного для поля. Например, поле с типом данных "Денежный" можно преобразовать в поле "Целое" только в том случае, если его значение больше 255, но не превышает 32 767.

Счетчик

Значения не должны выходить за пределы размера, заданного для поля.

Логический

Значения "Да" преобразуются в -1. Значения "Нет" преобразуются в 0.

Дата/время

Текстовый

Исходный текст должен быть распознаваемой датой или сочетанием даты и времени, например "18-янв-2007".

Поле MEMO

Исходный текст должен быть распознаваемой датой или сочетанием даты и времени, например "18-янв-2007".

Числовой

Значение должно находиться в интервале от -657434 до 2958465,99998843.

Денежный

Значение должно находиться в интервале от -657434 ₽ до 2958465,9999 ₽

Счетчик

Значение должно находиться в интервале от -657434 до 2958466.

Логический

Значение -1 ("Да") преобразуется в 29 декабря 1899 г. Значение 0 ("Нет") преобразуется в полночь (00:00:00).

Денежный

Текстовый

Текст должен состоять только из чисел и допустимых разделителей.

Поле MEMO

Текст должен состоять только из чисел и допустимых разделителей.

Числовой

Нет ограничений.

Дата/время

Нет ограничений, но Access может округлить значение.

Счетчик

Нет ограничений.

Логический

Значение -1 ("Да") преобразуется в 1 ₽Значение 0 ("Нет") преобразуется в 0 ₽

Счетчик

Текстовый

Не допускается, если поле с типом данных "Счетчик" является первичным ключом.

Поле MEMO

Не допускается, если поле с типом данных "Счетчик" является первичным ключом.

Числовой

Не допускается, если поле с типом данных "Счетчик" является первичным ключом.

Дата/время

Не допускается, если поле с типом данных "Счетчик" является первичным ключом.

Денежный

Не допускается, если поле с типом данных "Счетчик" является первичным ключом.

Логический

Не допускается, если поле с типом данных "Счетчик" является первичным ключом.

Логический

Текстовый

Исходный текст должен содержать только значения "Да", "Нет", "Истина", "Ложь", "Вкл" и "Выкл".

Поле MEMO

Исходный текст должен содержать только значения "Да", "Нет", "Истина", "Ложь", "Вкл" и "Выкл".

Числовой

Нуль и пустое значение преобразуются в значение "Нет", все остальные значения преобразуются в значение "Да".

Дата/время

Пустое значение и значение 00:00:00 преобразуются в значение "Нет", все остальные значения преобразуются в значение "Да".

Денежный

Нуль и пустое значение преобразуются в значение "Нет", все остальные значения преобразуются в значение "Да".

Счетчик

Все значения преобразуются в значение "Да".

Гиперссылка

Текстовый

Если исходный текст содержит допустимый веб-адрес, например adatum.com, www.adatum.com или http://www.adatum.com, он преобразуется в гиперссылку. Access пытается преобразовать и другие значения: текст становится подчеркнутым, а указатель мыши изменяется при наведении на ссылку, но эти ссылки не работают. Текст может содержать любое допустимое обозначение веб-протокола, в том числе http://, gopher://, telnet://, ftp:// или wais://.

Поле MEMO

См. предыдущую строку. Действуют те же ограничения.

Числовой

Не допускается, если поле с типом данных "Числовой" используется в связи. Если исходное значение представлено в форме допустимого IP-адреса (четыре тройки цифр, разделенных точками: nnn.nnn.nnn.nnn), а числа соответствуют веб-адресу, в результате преобразования получается действительная ссылка. В противном случае Access добавляет префикс http:// в начало каждого значения, и итоговые ссылки не работают.

Дата/время

В начало каждого адреса добавляется префикс http://, но итоговые ссылки практически никогда не работают.

Денежный

В начало каждого значения добавляется префикс http://, но, как и в случае с датами, итоговые ссылки практически никогда не работают.

Счетчик

Не допускается, если поле "Счетчик" используется в связи. В начало каждого значения добавляется префикс http://, но итоговые ссылки практически никогда не работают.

Логический

Все значения "Да" преобразуются в -1, а все значения "Нет" — в 0. В начало каждого значения добавляется префикс http://. Итоговые ссылки не работают.

К началу страницы

Выполнение запроса, заблокированного из-за режима отключения содержимого

Если при попытке выполнения запроса на изменение ничего не происходит, проверьте, не появилось ли в строке состояния Access следующее сообщение:

Данное действие или событие заблокировано в режиме отключения.

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

К началу страницы

Версия SQL: инструкция UPDATE

Если пользователь знает язык SQL, можно также написать инструкцию UPDATE в режиме SQL. Чтобы использовать режим SQL, создайте пустой запрос и переключитесь в режим SQL.

В данном разделе приведен синтаксис инструкции UPDATE и пример ее использования.

Синтаксис

UPDATE таблица    SET новое_значение    WHERE условие;

Инструкция UPDATE состоит из нескольких частей.

Часть

Описание

Таблица

Имя таблицы с данными, которые необходимо изменить.

Новое_значение

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

Условие

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

Замечания

Инструкция UPDATE особенно полезна, если требуется внести изменения в большое количество записей или если записи, которые необходимо изменить, находятся в нескольких таблицах.

Одновременно можно изменить несколько полей. В приведенном ниже примере значения "СуммаЗаказов" увеличиваются на 10 процентов, а значения "Доставка" — на 3 процента для поставщиков в Великобритании.

UPDATE Orders

SET OrderAmount = OrderAmount * 1.1,

Freight = Freight * 1.03

WHERE ShipCountry = 'UK';

К началу страницы

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×