Меню Рубрики

Установка по это запрос на изменение

Установка по это запрос на изменение

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

Запрос на обновление записей вносит общие изменения в группу записей одной или нескольких таблиц.

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

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

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

— создание таблицы для экспорта в другую базу данных Microsoft Access. Например, требуется создать таблицу, содержащую несколько полей из таблицы СОТРУДНИКИ, а затем экспортировать эту таблицу в базу данных, используемую отделом кадров;

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

— повышение быстродействия форм и отчетов, базирующихся на многотабличных запросах.

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

Для формирования запроса на создание таблицы надо сначала построить запрос на выборку, затем преобразовать его в запрос на создание, выбрав команду меню Запрос/ Создание таблицы. В открывшемся окне Создание таблицы следует ввести имя итоговой таблицы. Запрос выполняется командой меню Запрос/ Запуск или после нажатия кнопки Запуск панели инструментов. Access запрашивает подтверждение на выполнение запроса. В новой таблице нужно определить первичный ключ и вновь создать поля подстановки.

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

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

Запрос на добавление, как и другие запросы на изменение, можно получить преобразованием запроса на выборку с помощью команды меню Запрос/ Добавление. Access запрашивает подтверждение на выполнение запроса.

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

Во время выполнения запросов на изменение Access определяет четыре категории ошибок:

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

— ошибки преобразования данных. Такие ошибки возникают, если типы полей-получателей и полей-источников не совпадают и данные поля-источника не могут быть преобразованы автоматически к нужному типу;

— заблокированные записи. Эти ошибки возникают при попытке выполнения запроса на изменение к записям таблицы, с которой работают другие пользователи сети. В этом случае можно попытаться повторить выполнение запроса через некоторое время;

— нарушение условий на значение. Если вставляемые или обновляемые записи не удовлетворяют условию на значение поля, Access сообщит об ошибке и исключит эти записи при выполнении запроса.

Читайте также:  Установка web сервера на сервер

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

Для удаления записей их сначала нужно отобрать с помощью запроса на выборку. В запрос можно включить параметр для установления условий отбора удаляемых записей. Затем запрос на выборку следует преобразовать в запрос на удаление с помощью команды меню Запрос/ Удаление и выполнить команду Запрос/ Запуск. Access запрашивает подтверждение на удаление. После выполнения операции удаления восстановить записи нельзя.

источник

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

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

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

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

В этой статье

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Установка бардачка в chevrolet aveo

Откройте вкладку Файл и выберите команду Сохранить как. Обратите внимание: если вы используете Access 2010, откройте вкладку Файл и выберите команду Сохранить и опубликовать.

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

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

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

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

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

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

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

На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.

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

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

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

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

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

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

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

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

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

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

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

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

Выбирает даты между 2-фев-17 и 1-дек-17 (ANSI-89). Если в базе данных применяется набор подстановочных знаков ANSI-92, используйте вместо знаков решетки ( #) одинарные кавычки ( ‘). Пример: между «2/2/2020» и «12/1/2020».

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

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

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

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

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

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

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

Поиск всех записей в течение 2 февраля 2020 г. Если в базе данных используется набор подстановочных знаков ANSI-92, заключайте дату в одинарные кавычки (‘) вместо знаков решетки (#); Например, («2/2/2020»).

Date для возврата всех дат не менее 30-дневной давности.

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

Between Date( ) And DateAdd(«M», 3, Date( ))

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

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

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

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

Читайте также:  Установка иконы семистрельной божьей матери

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

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

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

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

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

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

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

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

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

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

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

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

В поле типа «Дата/время» изменяет значение даты на «10-Авг-20».

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

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

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

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

DSum («[количество] * [Цена]»;
«Сведения о заказах», «[КодТовара] =» _Амп_ [ProductID])

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

источник

Добавить комментарий

Adblock
detector