### Оглавление

Назад| Вперед

Создание запросов в среде MS Access

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

По принципу своего действия все запросы Microsoft Access делятся на несколько видов. Наиболее часто применяются запросы, производящие простую выборку некоторой информации из одной или нескольких взаимосвязанных таблиц. Результатом работы такого запроса является набор фактических данных, удовлетворяющих определенным, заранее заданным, условиям. Полученные данные представляются в виде обычной таблицы, что позволяет создать на ее основе пользовательскую форму, представляющую результат на экране в удобном для восприятия виде. Кроме того, в отличие от обычной таблицы, в запросе, кроме условий выборки, можно задавать дополнительные поля, в которых указывать формулы, оперирующие содержимым других полей. Практически в точности как в Microsoft Excel. В этом случае вместе с отобранными данными во временной таблице появятся и результаты обсчета формул. Таким образом, механизм запросов компенсирует отсутствие в таблице возможности автоматически произвести какие бы то ни было расчеты. На самом деле в этом таится глубокий смысл. Как показывает практика, реально пользователю практически повсеместно все результаты базы данных не нужны, однако программа не умеет делить все формулы на первоочередные и второстепенные. Как только пользователь, как это имеет место в Microsoft Excel, обращается к файлу, содержащему формулу, компьютер производит все вычисления, чем в значительной степени расходует машинный ресурс. Решение, реализованное в СУБД вообще, и в Microsoft Access в частности, позволяет вычислять лишь те данные, которые необходимы в данный конкретный момент времени данному конкретному пользователю. Вся база данных может содержать множество самых разных запросов, в том числе и с формулами, но так как они разбиты между разными отдельными модулями, то это позволяет управлять процессом вычислений, чем в значительной степени экономит машинное время.

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

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

Создание простого запроса с помощью мастера

Для создания нового запроса следует сначала перейти на вкладку “Запросы” и нажать на кнопку “Создать”. Всего предложенное меню Microsoft Access 97 содержит пять возможных вариантов рофессионалы, хорошо освоившие данную СУБД или пользующиеся непосредственным программированием на языке запросов (SQL), выбирают режим “Конструктор”, в котором все операции производятся вручную. Это имеет как плюсы, так и минусы. Слишком много рутинных операций, зато можно сконструировать какой угодно запрос.

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

Перекрестные запросы обладают следующими достоинствами:

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

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

3. возможностью указать поле, которое является заголовком строки;

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

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

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

Вариант “Записи без подчиненных” в подавляющем большинстве случаев применяется в таблицах со множеством связей. Этот мастер позволяет найти все записи в главной таблице, которые не имеют связанных записей в подчиненной. Предположите, что на каждого покупателя некоторый магазин заводит реестр покупок. Покупки могут быть разные. Они также могут по-разному оплачиваться (наличные, кредитная карточка или что-нибудь другое) и доставляться (самостоятельно или “с доставкой на дом”). Чтобы каждый раз не задавать старому клиенту массу излишних вопросов, удобно завести отдельную таблицу со всеми необходимыми данными, а в реестре покупок указывать только порядковый номер конкретного клиента в списке. Однако может так получиться, что какой-либо человек перестал пользоваться услугами данного магазина. Вскоре в системе учета возникнет своего рода дыра. Запись о клиенте есть, а упоминаний о его покупках нет. Следовательно, имеет смысл периодически просматривать систему и удалять из нее лишние записи ради экономии машинных ресурсов. Правда, вручную подобная задача далеко не всегда может быть решена успешно, так как человеку свойственно ошибаться. Поэтому куда удобнее, да и надежнее, воспользоваться специально сконструированным запросом, который просмотрит всю базу данных, сличит все записи о покупках с перечнем зарегистрированных покупателей и безошибочно выявит перечень тех, кто не объявлялся сверх положенного срока, а значит, записи о которых можно совершенно безболезненно из реестра удалить.

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

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

В следующем окне мастер поинтересуется, как вы желаете новый запрос назвать Его имя следует набрать в строке “Задайте имя запроса”. По умолчанию, Microsoft Access 97 сама генерирует имя по достаточно простой методике: к имени таблицы, на основании которой работал запрос, добавляется слово “Запрос”. Можно оставить и так, а можно придумать и более выразительное название. Тут следует учитывать тот простой факт, что через некоторое время вы можете забыть тонкости проекта и, некогда вполне знакомые наименования, могут стать совершенно бессмысленными.

Авторы СУБД Microsoft Access 97 предусмотрели также такой вариант, когда услуги мастера для построения запросов используются исключительно для выполнения большей части черновой работы. Если вы хотите добраться до внутренней механики полученного запроса - выберите вариант “изменение структуры запроса”, иначе программа автоматически решит показать получившийся результат. Можно также “попросить” Microsoft Access вывести подсказку по работе с запросами. Это делается путем выставления галочки против записи “Вывести справку по работе с запросом”.

Далее можно нажать экранную кнопку “Готово” и посмотреть на результат.

Для изменения существующего запроса используется режим “Конструктор”, попасть в который можно выделив нужный запрос и нажав экранную кнопку “Конструктор”.

Сортировка записей таблицы

В таблице данные всегда отсортированы по первичному ключу. Чтобы организовать другой способ сортировки данных, используется простой запрос, содержащий в себе все поля таблицы. В нижней части окна конструктора запросов в бланке запросов (бланке QBE) установите курсор в поле, по которому желательно провести сортировку. Для этого поля из списка “Сортировка” выберите способ сортировки. Запустите запрос на исполнение, и MS Access отобразит на экране результат запроса, отображаемый в режиме таблицы, данные в котором отсортированы требуемым образом. Например, запрос сортировки поставщиков по наименованию фирмы будет выглядеть следующим образом:

Запросы с критериями поиска

Для выборки данных из таблиц по определенному условию в MS Access используются запросы с критериями поиска. Предварительно задав условие отбора, результатом выполнения запроса будет набор данных удовлетворяющих сформированному критерию. Откройте предварительно созданный простой запрос, содержащий все необходимые поля. В строке “Условие отбора” можно ввести теперь критерии выбора. Для обозначения произвольного количества символов используйте в качестве символа-заменителя звездочку “*”, а для обозначения одного произвольного символа знак вопроса “?”. Сформулируйте критерии запроса. Например, если для текстового поля будет задан только критерий "А*", то в результате выполнения запроса будут отображены только те записи, текстовое поле которых начинается с буквы “А” (или “а”).

Если требуется отыскать комбинацию нескольких значений, необходимо ввести их в строку “Условие отбора”, употребляя в качестве разделителя логические операторы AND и OR. Кроме обычных операторов сравнения, MS Access предоставляет три специальных оператора, полезных для отбора данных: BETWEEN, IN, LIKE. Например, если необходимо вывести фамилии продавцов, чей оклад находится в диапазоне от 5000 до 10000, то в строке “Условие отбора” введите критерий: >5000 And <10000

Запросы с параметрами

Не всегда можно решить на этапе создания запроса, какие именно значения должен отыскивать MS Access, а иногда требуется гибкое условие отбора, которое может изменяться в зависимости от текущей ситуации. Поэтому вместо условия отбора, непосредственно вводимого в бланк QBE, можно включить в запрос параметр, и в этом случае перед выполнением запроса MS Access каждый раз будет запрашивать конкретные условия отбора.

Чтобы установить параметр необходимо ввести в строку “Условие отбора” имя или фразу, заключенную в квадратные скобки ([ ]). То, что заключено внутри квадратных скобок, MS Access рассматривает как имя параметра. Это имя выводится в диалоговом окне при выполнении запроса, поэтому разумно в качестве имени параметра использовать содержательную фразу. В одном запросе можно задать несколько параметров; при этом имя каждого параметра должно быть уникальным и информативным.

По умолчанию MS Access преобразует введенные в запрос параметры в текстовый тип данных. Однако, так как текстовые поля нельзя сравнивать с полями дат, тип данных для параметров необходимо установить точно. Для этого выберите команду “Запрос”® “Параметры” из меню, в результате чего MS Access откроет окно диалога “Параметры запроса”. Введите параметр без квадратных скобок в диалоговое окно и выберите необходимый тип данных. Теперь для выполнения запроса сначала необходимо ввести значение параметра, а результат запроса будет содержать только те поля, которые удовлетворяют заданному значению параметра.

При работе с параметрами можно также использовать логические операторы AND и OR. Тот же самый запрос выборки продавцов с окладом, диапазон границ которого переменный.

Вычисляемые поля в запросах

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

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

Выражение 1: [Поле1] “оператор” [Поле2]

В квадратные скобки заключаются только имена полей. MS Access автоматически использует “Выражение 1” в качестве имени вычисленного выражения. Это имя можно изменить на более содержательное.

При построении сложных выражений MS Access предлагает использовать утилиту, называемую “Построитель выражений”. Для перехода в “Построитель выражений” необходимо щелкнуть по пустому полю в бланке QBE, а затем – по кнопке “Построить” панели инструментов или контекстного меню.

Это очень интересный и “могучий” мастер. Он позволяет строить сколько угодно сложные выражения, многие из которых иным путем вообще созданы быть не могут. Если необходимо вывести наименования фирм поставщиков товара, представители которых мужчины, вам надлежит отыскать в левом нижнем окне поле “Pol” (принцип поиска аналогичен поиску папки в модуле “Проводник” операционной системы Microsoft Windows 98), кликнуть по нему (в верхнем окне появится запись, состоящая из наименования таблицы и имени поля). Потом - нажать мышью на экранную кнопку со знаком равно, а потом опять отыскать в левом нижнем окне, в папке “Константы”, значение “ложь” и перенести его в верхнее окно посредством экранной кнопки “ВСТАВИТЬ”. Получится выражение [Поставщики]![Pol] = Ложь. Это означает, что запрос должен выбрать из таблицы “Поставщики” только те строки, ячейка “Pol” которых содержит значение “Ложь”. Теперь нажмите “ОК”, и построитель выражений исчезнет, а само выражение попадет в ячейку “Условие отбора” столбца “Pol”. Не беда, что вы увидите лишь небольшую часть сгенерированной текстовой строки. На самом деле она там присутствует полностью, лишь недостаточная ширина столбца не позволяет увидеть ее целиком. Если необходимо измените ширину столбца.

Функции даты и времени
Data() | Определяет системную дату компьютера
Year(параметр) | Возвращает числовое значение года указанной в качестве параметра даты

Итоговые запросы

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

Для того чтобы составить итоговый запрос, находясь в режиме Конструктора запроса, следует выбрать пиктограмму “Групповые операции” или воспользоваться командой “Вид”

® “Групповые операции”. В результате чего в бланке запроса появится строка “Групповая операция”. Затем для соответствующего поля из списка необходимо выбрать функцию “Группировка”.

Функции Access SQL, используемые для выполнения расчетов

Функция | Типы полей | Описание
Статистические функции
Avg() | Все типы полей, исключая текстовый, поле MEMO, поле объекта OLE | Вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса
Count() | Все типы полей | Возвращает количество непустых значений, используемых запросом
First() | Все типы полей | Возвращает значение поля из первой записи результирующего набора
Last() | Все типы полей | Возвращает значение поля из последней записи результирующего набора
Max() | Все типы полей, исключая текстовый, поле MEMO, поле объекта OLE | Возвращает максимальное значение из набора, содержащегося в указанном поле
Min() | Все типы полей, исключая текстовый, поле MEMO, поле объекта OLE | Возвращает минимальное значение из набора, содержащегося в указанном поле
StDev() StDevP() | Все типы полей, исключая текстовый, поле MEMO, поле объекта OLE | Возвращает смещенное и несмещенное значение среднеквадратического отклонения, вычисляемого по набору значений, содержащегося в указанном поле
Sum() | Все типы полей, исключая текстовый, поле MEMO, поле объекта OLE | Возвращает сумму набора значений, содержащихся в указанном поле
Var() VarP() | Все типы полей, исключая текстовый, поле MEMO, поле объекта OLE | Возвращает смещенное и несмещенное значение дисперсии отклонения, вычисляемого по набору значений, содержащегося в указанном поле

Многотабличные запросы

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

Во-первых, откройте окно “Конструктора” запроса и добавьте таблицы, в которых содержится необходимая информация. Если ранее с помощью команды “Связи” была установлена связь между таблицами, то MS Access определит это автоматически. Эта связь будет отображена в виде линии, проведенной между полями таблиц. Если связь между таблицами отсутствует, вы должны ее установить.

Далее необходимо определить параметры связи. Укажите на соединительную линию и выберите команду “Вид”

® “Параметры объединения”. В результате откроется диалоговое окно, в котором предлагаются три опции для определения параметров связи

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

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

Запросы на создания таблицы

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

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

® “Создание таблицы”. На экране появится диалоговое окно “Добавление” ,где в поле “имя таблицы” введите имя таблицы, в которую необходимо добавить записи или выберите это имя из раскрывающегося списка. Причем, необходимо учесть, что если таблица находится в открытой в настоящий момент базе данных, то выбирается параметр “в текущей базе данных”, в противном случае активизируется параметр “в другой базе данных” и вводится имя базы данных, в которой находится таблица. Закройте диалоговое окно и переместите из списка полей в бланк запроса поля, которые необходимо добавить или которые будут использоваться при определении условия отбора. Если в обеих таблицах выделенные поля имеют одинаковые имена, то соответствующие имена автоматически вводятся в строку “Добавление”. Если имена полей двух таблиц отличны друг от друга, нужно будет указать в строке “Добавление” имена полей таблицы-получателя. Для полей, перемещенных в бланк запроса, введите в ячейку “Условие отбора” условие отбора, по которому будет осуществляться добавление. Для поля с типом данных “Счетчик” выполните одно из следующих действий:

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

2. Для сохранения в поле счетчика значений из исходной таблицы перетащите при создании запроса поле счетчика в бланк запроса.

После внесения изменений в режиме конструктора запустите запрос на исполнение.

Перекрестные запросы

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

Рассмотрим таблицу товаров, которая содержит три поля данных: “Kod_t” (код типа товара), “Kod_p” (код поставщика), “Cena_pr” (цена продажи товара). Для каждой категории товаров требуется определить суммы цен товаров с указанием поставщика.

Поместите в окно Конструктора запроса таблицу “Товары”. Затем включите строку “Групповая операция”, выбрав команду “Вид”

® “Групповые операции”. После этого отбуксируйте поле данных “Тип” в бланк запроса. Для этого поля выберите из списка значение “Группировка”.

Во второй столбец бланка запроса отбуксируйте поле данных “Kod_p”. Для этого столбца также выберите значение “Группировка”.

Последним в бланк запроса отбуксируйте поле “Cena_pr”. Для этого поля выберите значение “Sum”.

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

Теперь необходимо итоговый запрос преобразовать в перекрестный запрос. Для этого выберите команду “Запрос”

® “Перекрестный”.

Выбор данной команды приводит к замене в бланке запроса строки “Вывод на экран” на новую строку “Перекрестная таблица”. Все остальные параметры остаются без изменения. Поле “Kod_t” исходной таблицы будет использовано в качестве заголовка строк. Поэтому из поля списка “Перекрестная таблица” выберите элемент “Заголовок строк”. Для столбца “Kod_p” выберите из списка “Перекрестная таблица” элемент “Заголовок столбцов”.

Сумму цен товаров необходимо поместить в ячейках перекрестной таблицы. Поэтому для этого поля из списка “Перекрестная таблица” следует выбрать элемент “Значение”.

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

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

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

Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц. Например, появилось несколько новых клиентов, а также база данных, содержащая сведения о них. Чтобы не вводить все данные вручную, их можно добавить в таблицу “Клиенты”. Проектирование запроса на добавление записей в таблицу аналогично построению запроса на создание новой таблицы. Отличие состоит в том, что в пункте меню “Запрос” необходимо выбрать команду “ДобавлениеӘ”.

Запросы на удаление

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

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

Лишь в том случае, если в результате запроса присутствуют только подлежащие удалению записи, следует преобразовать запрос-выбора в запрос на удаление.

Для этого в строке меню выберите команду “Запрос”

® “Удаление”. После этого MS Access выключает в бланке запроса строки “Сортировка” и “Вывод на экран”. Для запросов на удаление эти строки не нужны. Кроме того, для всех колонок бланка запроса в новой строке “Удаление” отображается текст “Условие”. Однако критерии при этом не изменяются.

Если выполнить запрос выбором пиктограммы “Выполнить”, MS Access не отобразит на экране результат выполнения запроса. Вместо него появится сообщение о том, сколько записей будет удалено в исходной таблице. Вы можете прервать процесс удаления нажатием кнопки “Отмена”. Однако нажатие “OK” приводит к безвозвратному удалению записей, удовлетворяющих критериям запроса.

Запросы-обновления

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

Сначала создайте новый запрос выбора и введите критерии для выбора изменяемых записей. Только в том случае, если результат запроса отвечает заданным требованиям, следует преобразовать его в запрос замены. Для этого выберите команду “Запрос”

® “Обновление”. При этом будут выключены строки “Вывод на экран” и “Сортировка” в бланке запроса. Обе эти строки не нужны для запроса замены. Вместо них включается новая строка “Обновление”. В эту строку следует ввести новые выражения для заменяемых записей. Обратите внимание, что тип данных выражения должен совпадать с типом данных поля исходной таблицы. Например, если вы хотите обновить записи поля “Summa” таблицы “Товары”, значения которых вычислены и находятся в таблице “Сумма”, то сформируйте запрос на обновление.