Самоучитель Microsoft Access 2013



Download 16,15 Mb.
Pdf ko'rish
bet57/146
Sana15.11.2022
Hajmi16,15 Mb.
#866071
1   ...   53   54   55   56   57   58   59   60   ...   146
Bog'liq
Юрий Бекаревич, Нина Пушкина - Самоучитель Microsoft Access 2013 (2014)


Глава 4 
4.
Просмотрите содержимое обновляемого поля 
СУММА_ОТГР
перед выполнением 
запроса, нажав кнопку 
Режим
(View) на ленте конструктора запросов в группе 
Результаты
(Results). 
5.
Для обновления содержимого поля 
СУММА_ОТГР
выполните запрос, нажав кнопку 
Выполнить
(Run) на вкладке ленты 
Конструктор
(Design). Откроется 
диалоговое окно с сообщением о числе обновляемых записей и вопросом 
о продолжении операции обновления. Подтвердите обновление записей. 
6.
Просмотрите содержимое обновляемого поля 
СУММА_ОТГР
после выполнения 
запроса. Для этого переключитесь после выполнения запроса в режим таблицы, 
воспользовавшись кнопкой 
Режим таблицы
(Datasheet View) в строке 
состояния или нажмите кнопку 
Режим 
(View) на вкладке ленты.
7.
Таким образом, рассмотренный запрос позволяет автоматизировать расчет 
стоимости товара, указанного в каждой строке спецификации накладной — 
записи таблицы ОТГРУЗКА. 
8.
Если обновлять нужно только некоторые строки таблицы, задайте условия 
отбора обновляемых записей. Для этого дополните бланк запроса полем, по 
которому требуется произвести отбор записей. Перетащите поле 
КОД_ТОВ
в 
бланк запроса и введите в строку 
Условия отбора 
(Criteria) параметр 
[Введите 
код товара]
(см. рис. 4.43). 
9.
Выполните запрос. Обновление будет выполнено только для записей с вве-
денным кодом товара.
10.
Сохраните запрос под именем 
Расчет стоимости
.
О
БРАТИТЕ ВНИМАНИЕ 
При использовании в запросе на обновление таблиц, находящихся в отношении 1 : М, 
обновлять можно только содержимое полей таблицы со стороны "многие". 
11.
Перейдите в режим
SQL. Эквивалентная запросу на обновление инструкция 
UPDATE
будет записана следующим образом: 
UPDATE ТОВАР INNER JOIN ОТГРУЗКА ON ТОВАР.КОД_ТОВ = ОТГРУЗКА.КОД_ТОВ 
SET ОТГРУЗКА.СУММА_ОТГР = [ЦЕНА]*[КОЛ_ОТГР] 
WHERE (((ТОВАР.КОД_ТОВ)=[Введите код товара])); 
Имена таблиц, используемых в запросе, и способ их объединения задаются не-
посредственно за именем инструкции 
UPDATE
. Инструкция 
UPDATE
обновляет 
указанное в предложении 
SET 
поле 
ОТГРУЗКА.СУММА_ОТГР
, присваивая значение, 
заданное выражением 
[ЦЕНА]*[КОЛ_ОТГР]
. Обновление происходит во всех запи-
сях, которые удовлетворяют условию отбора, заданному в предложении 
WHERE

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


Запросы 
201 
З
АМЕЧАНИЕ
Рассмотренный ранее запрос 
Расчет стоимости
(см. рис. 4.43) позволяет автомати-
зировать расчет стоимости товара, указанного в каждой строке спецификации наклад-
ной — записи таблицы ОТГРУЗКА. Для этого достаточно убрать в нем параметр усло-
вия отбора. 
1.
Для подсчета общей стоимости товара, отгруженного по каждой накладной, соз-
дайте запрос на основе таблицы ОТГРУЗКА.
2.
Включите в бланк запроса поля, определяющие составной ключ накладной: но-
мер накладной (
НОМ_НАКЛ
) и код склада (
КОД_СК
) и поле 
СУММА_ОТГР

3.
Выполните группировку по двум полям, определяющим составной ключ на-
кладной. Это приведет к включению в группу всех записей об отгрузках товаров 
по одной накладной. Для поля 
СУММА_ОТГР
выберите статистическую функцию 
Sum
. Для группы будет подсчитана стоимость всех товаров, отгруженных по на-
кладной. 
4.
Теперь значения стоимости накладных, рассчитанные с
использованием стати-
стической функции 
Sum
нужно сохранить в соответствующем поле таблицы 
НАКЛАДНАЯ. Однако запрос на обновление непосредственно на запросе с 
группировкой построить нельзя. Поэтому преобразуйте запрос на выборку в за-
прос на создание таблицы. Создаваемой в запросе таблице дайте имя 
Стоимость 
накладной
. Далее эту таблицу используйте для обновления поля 
СУММА_НАК
в на-
кладной. 
5.
Если в таблице ОТГРУЗКА не хранится значение стоимости товара, рассчитайте 
общую стоимость товаров одной накладной в вычисляемом поле по формуле 
[ЦЕНА]*[КОЛ_ОТГР]
и для этого поля используйте статистическую функцию 
Sum

Запрос в этом случае создавайте на двух таблицах ОТГРУЗКА и ТОВАР. 
6.
Сохраните запрос под именем 
Расчет стоимости накладной
(рис. 4.44).
Рис. 4.44. 
Расчет стоимости всего товара, отгруженного по накладной, и сохранение в новой таблице 


202 
Глава 4 
7.
Создайте запрос на обновление на основе обновляемой таблицы базы данных 
НАКЛАДНАЯ и новой таблицы Стоимость накладной, содержащей данные для 
обновления. 
8.
В схеме данных запроса установите связь таблиц по полям, однозначно 
идентифицирующим накладную: 
НОМ_НАК
и 
КОД_СК
.
9.
В бланк запроса включите единственное обновляемое в таблице НАКЛАДНАЯ 
поле 
СУММА_НАК
, в строке 
Обновление
(Update To) введите имя поля 
Sum-СУММА_ОТГР
из таблицы Стоимость накладной, из которого будет выбираться 
значение для обновления (рис. 4.45).
10.
Сохраните запрос под именем 
Обновление стоимости накладной

Рис. 4.45. 
Обновление поля с общей стоимостью товара по накладной
11.
Для решения задачи вычисления общей стоимости накладной последовательно 
выполните сначала запрос на создание таблицы 
Расчет стоимости накладной

а затем запрос на 
Обновление стоимости накладной
. Если в таблице 
ОТГРУЗКА не была рассчитана стоимость каждого товара, отгружаемого поку-
пателю, предварительно должен быть выполнен запрос 
Расчет стоимости 
(см. рис. 4.43) без условий отбора. 
Конструирование запроса на добавление 
С помощью запроса
Добавление
(Append) производится добавление записей
в таблицу базы данных. Добавляемые записи формируются в создаваемом конст-
руктором запросе на выборку из одной или нескольких таблиц базы данных. При 
использовании нескольких таблиц их записи объединяются в соответствии с ука-
занным способом объединения.


Запросы 
203 
Структура записи таблицы, из которой добавляются записи, может не полностью 
совпадать со структурой записи дополняемой таблицы. В добавляемых записях 
может быть меньше полей, если на поля в таблице, куда добавляются записи, не 
наложено требование по обязательности их заполнения. Допускается несоответст-
вие типов полей, если возможно преобразование типа данных одного поля в тип 
данных другого поля. Добавляемые записи обязательно должны включать значения 
ключевых полей. В бланк запроса могут быть включены поля для задания условий 
отбора добавляемых записей. В качестве значений полей добавляемых записей мо-
жет быть использовано вычисляемое выражение. 
Добавление данных в связанные таблицы 
Задача 
Пусть на складах фирмы имеются свои базы данных, в которых ведется учет на-
кладных. Данные накладных так же, как и данные в централизованной базе "По-
ставка товаров", сохраняются в двух таблицах. Допустим, они имеют имена На-
кладные склада и Отгрузка склада и такие же ключевые поля, как и аналогичные 
таблицы централизованной базы. В конце каждого дня в централизованной базе 
данных выполняется команда импортирования этих таблиц с данными об отгру-
женных со склада товарах. Далее с помощью запросов на добавление накладные, 
оформленные на складе, включаются в централизованную базу данных. Пер- 
вым должен выполняться запрос на добавление записей в главную таблицу 
НАКЛАДНАЯ. Только после этого могут быть добавлены связанные записи в под-
чиненную таблицу ОТГРУЗКА. Это обусловлено тем, что в схеме данных базы для 
связи таблиц НАКЛАДНАЯ и ОТГРУЗКА установлен параметр 
Обеспечение це-
лостности данных 
(Enforce Referential Integrity), делающий возможным
добавле-
ние подчиненных записей только в том случае, когда в главной таблице уже имеет-
ся связанная запись.
1.
Создайте запрос на основе таблицы
Накладные склада, выбрав вкладку ленты — 
Создание
(Create) и в группе 
Запросы
(Queries) нажмите кнопку 
Конструктор 
запросов
(Query Design). По умолчанию будет создан запрос на выборку, что 
подтверждается выделенным на вкладке 
Работа с запросами 

Конструктор
(Query Tools | Design) типом созданного запроса — 
Выборка
(Select).
2.
Превратите его в запрос на добавление, выбрав тип запроса 
Добавление
(Append). При этом открывается диалоговое окно 
Добавление 
(Append) 
(рис. 4.46). 
3.
В окне 
Добавление 
в поле 
имя таблицы
(Table Name)
введите или выберите из 
списка имя таблицы НАКЛАДНАЯ, в которую надо добавить записи. 
4.
Так как таблица-получатель добавляемых записей находится в открытой базе 
данных, отметьте переключатель 
в
текущей базе данных 
(Current Database). 
Для таблицы, находящейся в другой базе данных, надо отметить переключатель 
в другой базе данных
(Another Database) и ввести имя файла базы данных. При 
необходимости надо указать путь к другой базе данных. Помимо базы данных 
Access, можно указать базу данных Microsoft FoxPro, Paradox, dBASE или ввести 
строку подключения для базы данных SQL Server.


204 
Download 16,15 Mb.

Do'stlaringiz bilan baham:
1   ...   53   54   55   56   57   58   59   60   ...   146




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish