LINEBURG


<< Пред. стр.

страница 73
(всего 83)

ОГЛАВЛЕНИЕ

След. стр. >>



объект ОС]![Дата постановки на у ч е т ] ) ) <=[Дата расчета
амортизации]) AND (([Инвентарный объект ОС].[Дата
списания])>[Дата расчета амортизации] Or ([Инвентарный объект
ОС].[Дата списания]) I s N u l l ) ) WITH 0WNERACCES5 OPTION;
6. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
7. Выполнить запрос с помощью команды меню Запрос • Запуск.
8. Сохранить запрос под именем Месячный износ.
ВНИМАНИЕ
При добавлении новых записей в таблицу, которая имеет первичный ключ, автоматиче­
ски контролируется уникальность ключей новых записей.

9. Выполнение запроса можно совместить с работой в форме. Так, в форме
Объект ОС на вкладке Амортизация ОС можно разместить кнопку, обеспечи­
вающую запуск запроса для расчета амортизации ОС.
Последовательность действий.
1. Перейти на вкладку Формы.
2. Открыть форму Объект ОС в режиме конструктора.
3. Выбрать вкладку Амортизация.
4. Разместить на вкладке командную кнопку, категория — Разное, действие —
Выполнить запрос, запрос — Месячный износ, текст на кнопке — Ввод износа.
5. Выполнить дополнительную настройку процедуры обработки события для
кнопки:
О свойство Нажатие кнопки, вызвать редактор Visual Basic;
О в текст процедуры вставить макрокоманду обновления таблицы Аморти­
зация ОС. Полный текст процедуры:
P r i v a t e Sub Кнопка68_С1л'ск()
On Error GoTo Егг_Кнопка68_СИск
Dim stDocName As String
stDocName = "Месячный износ"
DoCmd.OpenQuery stDocName, acNormal, acEdit
DoCmd.RunCommand acCmdRefresh
Exit_KHonKa68_Click:
Exit Sub
Егг_Кнопка68_СИск:
MsgBox Err.Description
Resume Exit_KHonKa68_Click
End Sub
6. Сохранить форму с помощью команды меню Файл • Сохранить.
598 Глава 7. Система управления базами данных MS Access 2000


Пример 2 1

На основе шаблонов проводок выбранной типовой операции создать новые за­
писи для включения в ЖХО.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицы Типовая операция, Проводка, Шаблон проводки.
4. Выполнить команду меню Запрос • Добавление, указать таблицу, в которую
производится добавление записей — ЖХО.
5. Выполнить настройку загрузочной записи для таблицы Амортизация ОС:
О поле — Дата проводки из таблицы Инвентарный объект ОС, Добавление —
поле Дата проводки (операции);
О поле Номер счета дебета из таблицы Шаблон проводки, Добавление — поле
Номер счета дебета;
О поле Субсчет дебет из таблицы Шаблон проводки, Добавление — поле Но­
мер субсчета дебета;
О поле Номер счета кредита из таблицы Шаблон проводки, Добавление —
поле Номер счета кредита;
О поле Субсчет кредит из таблицы Шаблон проводки, Добавление — поле Но­
мер субсчета кредита;
О поле Номер документа из таблицы Проводка, Добавление — поле Номер
документа;
О поле Дата документа из таблицы Проводка, Добавление — поле Дата доку­
мента;
О вычисляемое поле: Выражение1:
[Шаблон проводки]![Коэффициент] * [Проводка]![Сумма проводки],
Добавление — поле Сумма операции
О поле Наименование типовой операции из таблицы Типовая операция, До­
бавление — поле Содержание операции.
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
INSERT INTO ЖХО ( [Дата проводки ( о п е р а ц и и ) ] , [Номер счета
д е б е т а ] , [Номер субсчета д е б е т а ] , [Номер счета к р е д и т а ] , [Номер
субсчета к р е д и т а ] , [Номер документа], [Дата документа], [Сумма
операции], [Содержание операции] ) SELECT Проводка.[Дата
п р о в о д к и ] , [Шаблон проводки].[Номер счета д е б е т ] , [Шаблон
проводки].[Субсчет д е б е т а ] , [Шаблон проводки].[Номер счета
к р е д и т ] , [Шаблон проводки].[Субсчет к р е д и т а ] , Проводка.[Номер
д о к у м е н т а ] , Проводка.[Дата документа], [Шаблон
проводки]![Коэффициент] * [Проводка]![Сумма проводки] AS
Выражение!., [Типовая операция].[Наименование типовой операции]
FROM ([Типовая операция] INNER JOIN Проводка ON ([Типовая
599
Основные понятия СУБД Access


операция].[Код типовой операции] = Проводка.[Код типовой
операции]) AND ([Типовая операция].[Код типовой операции] =
Проводка.[Код типовой операции])) INNER JOIN [Шаблон проводки] ON
[Типовая операция].[Код типовой операции] = [Шаблон
п р о в о д к и ] . [ К о д типовой операции] WITH OWNERACCESS OPTION;
6. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
7. Выполнить запрос с помощью команды меню Запрос • Запуск.
8. Сохранить запрос под именем Добавление типовых проводок в ЖХО.
Запрос на добавление записей можно приписать кнопке в форме Проводка.
Последовательность действий.
1. Перейти на вкладку Формы.
2. Открыть форму Проводка в режиме конструктора.
3. Добавить кнопку, категория — Разное, действие — Выполнить запрос, запрос —
Добавление типовых проводок в ЖХО, текст на кнопке — Запись в ЖХО.
4. Выполнить дополнительную настройку процедуры обработки события для
кнопки:
О свойство Нажатие кнопки, вызвать редактор Visual Basic;
О в текст процедуры вставить макрокоманду обновления таблицы Проводка.
Полный текст процедуры:
P r i v a t e Sub К н о п к а 2 0 _ т с к ( )
On E r r o r GoTo Егг_Кнопка20_СИск
DoCmd.RunCommand acCmdRefresh
Dim stDocName As String
stDocName = "Добавление типовых проводок в ЖХО"
DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_KHonKa20_Click:
Exit Sub
Егг_Кнопка20_С11'ск:
MsgBox Err.Description
Resume Exit_KHonKa20_Click
End Sub
5. Сохранить форму с помощью команды меню Файл • Сохранить.
Для запроса Добавление типовых проводок в ЖХО можно изменить условие отбо­
ра записей, согласовать их со значениями полей формы Проводка.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Выбрать запрос Добавление типовых проводок.
3. Нажать кнопку Конструктор.
600 Глава 7. Система управления базами данных MS Access 2000


4. Добавить в строку Условие отбора для полей:
О Дата проводки — [Forms]![Проводка]![Дата проводки];
О Номер документа — [Forms] ! [Проводка] ! [Номер документа];
О Дата документа — [Forms] ! [Проводка] ! [Дата документа].
5. Изменить вычисляемое выражение: Выражение1: [Шаблон проводки] ! [Ко­
эффициент] *[Forms]![Проводка]![Сумма проводки]
Запрос на языке S Q L имеет вид (команда меню Вид • Режим SQL):
INSERT INTO ЖХ0 ( [Дата проводки (операции)], [Номер счета
дебета] , [Номер субсчета дебета], [Номер счета кредита], [Номер
субсчета кредита] , [Номер документа], [Дата документа], [Сумма
операции], [Содержание операции] ) SELECT Проводка.[Дата
проводки], [Шаблон проводки].[Номер счета дебет], [Шаблон
проводки].[Субсчет дебета], [Шаблон проводки].[Номер счета
кредит], [Шаблон проводки].[Субсчет кредита], Проводка.[Номер
документа], Проводка.[Дата документа], [Шаблон
проводки]![Коэффициент] * [Forms]![Проводка]![Сумма проводки] AS
Выражение!., [Типовая операция].[Наименование типовой операции]
FROM ([Типовая операция] INNER JOIN Проводка ON ([Типовая
операция].[Код типовой операции] = Проводка.[Код типовой
операции]) AND ([Типовая операция].[Код типовой операции] =
Проводка.[Код типовой операции])) INNER JOIN [Шаблон проводки] ON
[Типовая операция].[Код типовой операции] = [Шаблон
проводки].[Код типовой операции] WHERE (((Проводка.[Дата
проводки])=[Forms]![Проводка]![Дата проводки]) AND
((Проводка.[Номер документа])=[Forms]![Проводка]![Номер
документа]) AND ((Проводка.[Дата
документа])=[Forms]![Проводка]![Дата документа])) WITH
OWNERACCESS OPTION;
6. Сохранить запрос.

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

Пример 22
Обновить значения показателей в записях таблицы Счет на основании рассчи­
танных оборотов.
601
Основные понятия СУБД Access


Обновление дебетового и кредитового оборотов
Сведения о дебетовых и кредитовых оборотах по счетам, субсчетам за указан­
ный учетный период содержатся в таблицах: Обороты по дебету счета, Обороты
по кредиту счета.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицы Счет, Обороты по дебету счета, Обороты по креди­
ту счета.
4. Установить связи таблиц Счет и Обороты по дебету счета: объединение всех
записей из таблицы Счет и только тех записей из таблицы Обороты по дебету
счета, в которых связанные поля Номер счета и Номер субсчета совпадают.
5. Установить связи таблиц Счет и Обороты по кредиту счета: объединение всех
записей из таблицы Счет и только тех записей из таблицы Обороты по креди­
ту счета, в которых связанные поля — Номер счета и Номер субсчета совпа­
дают.
6. Выполнить команду меню Запрос • Обновление.
7. В бланке запроса разместить поля:
О поле ДО из таблицы Счет, Обновление — [Обороты по дебету счета]! [ДО];
О поле КО из таблицы Счет, Обновление — [Обороты по кредиту счета]! [КО].
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
UPDATE (Счет LEFT JOIN [Обороты по кредиту счета] ON (Счет.[Номер
субсчета] = [Обороты по кредиту счета].[Номер с у б с ч е т а ] ) AND
(Счет.[Номер счета] = [Обороты по кредиту счета].[Номер с ч е т а ] ) )
LEFT JOIN [Обороты по дебету счета] ON (Счет.[Номер субсчета] =
[Обороты по дебету счета].[Номер субсчета]) AND (Счет.[Номер
счета] = [Обороты по дебету с ч е т а ] . [Номер с ч е т а ] ) SET Счет.ДО =
[Обороты по дебету с ч е т а ] ! [ Д О ] , Счет.КО = [Обороты по кредиту
с ч е т а ] ! [ К О ] WITH OWNERACCESS OPTION;
8. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
9. Выполнить запрос с помощью команды меню Запрос • Запуск.
10. Сохранить запрос под именем Обороты.
Обновление сальдо для счетов типа «А/П»
В таблице Счет следует обновить сальдо по дебету и кредиту счета, субсчета на
основании новых значений полей ДО и КО и начального сальдо по дебету и кре­
диту для счетов типа «А/П».
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицу Счет.
602 Глава 7. Система управления базами данных MS Access 2000


4. Выполнить команду меню Запрос • Обновление.
5. В бланке запроса разместить поля:
О поле Сальдо Д текущее из таблицы Счет, Обновление — [Счет] ! [Сальдо
ДЗ+^аСчетШДО]);
О поле Сальдо К текущее из таблицы Счет, Обновление — [Счет] ! [Сальдо
K]+NZ([C4eT]![КО]);
О поле Тип счета, Условие отбора — А/П.
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
UPDATE Счет SET Счет.[Сальдо Д текущее] = [Счет]![Сальдо
Д]+Н1([Счет]![ДО]), Счет.[Сальдо К текущее] = [Счет]![Сальдо
K ] + N Z ( [ C 4 e T ] ! [ К О ] ) WHERE ( ( ( С ч е т . [ Т и п с ч е т а ] ) = " А / П " ) ) WITH
OWNERACCESS OPTION;

6. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
7. Выполнить запрос с помощью команды меню Запрос • Запуск.
8. Сохранить запрос под именем Сальдо А/П.

Обновление сальдо для счетов типа «А»

В таблице Счет следует обновить сальдо по дебету и кредиту счета, субсчета на
основании новых значений полей ДО и КО и начального сальдо по дебету и кре­
диту для счетов типа «А/П».
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицу Счет.
4. Выполнить команду меню Запрос • Обновление.
5. В бланке запроса разместить поля:
О поле Сальдо Д текущее из таблицы Счет, Обновление — [Счет] ! [Сальдо
Д]+ N Z ( [ C 4 e T ] ! [ Д О ] ) - N Z ( [ С ч е т ] ! [ К О ] ) ;
О поле Сальдо К текущее из таблицы Счет, Обновление — 0;
О поле Тип счета, Условие отбора — А.
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
UPDATE Счет SET Счет.[Сальдо Д текущее] = [Счет]![Сальдо
Д ] + м г ( [ С ч е т ] ! [ Д 0 ] ) - И г ( [ С ч е т ] ! [ К О ] ) , Счет.[Сальдо К текущее] = 0
WHERE ( ( ( С ч е т . [ Т и п с ч е т а ] ) = " А " ) ) WITH OWNERACCESS OPTION;

6. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
7. Выполнить запрос с помощью команды меню Запрос • Запуск.
8. Сохранить запрос под именем Сальдо А.
603
Основные понятия СУБД Access


Обновление сальдо для счетов типа «П»
В таблице Счет следует обновить сальдо по дебету и кредиту счета, субсчета на
основании новых значений полей ДО и КО и начального сальдо по дебету и кре­
диту для счетов типа «А/П».
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицу Счет.
4. Выполнить команду меню Запрос • Обновление.
5. В бланке запроса разместить поля:
О поле Сальдо Д текущее из таблицы Счет, Обновление — 0;
О поле Сальдо К текущее из таблицы Счет, Обновление — [Счет] ! [Сальдо
К]+ И 2 ( [ С ч е т ] ! [ К О ] ) ;
О поле Тип счета, Условие отбора — П.
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
UPDATE Счет SET Счет.[Сальдо К текущее] = [Счет]![Сальдо
K ] - N Z ( [ C 4 e T ] ! [ Д О ] ) + N Z ( [ С ч е т ] » [ К О ] ) , Счет.[Сальдо Д текущее] = 0
WHERE ( ( ( С ч е т . [ Т и п с ч е т а ] ) = " П " ) ) WITH OWNERACCESS OPTION;
6. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
7. Выполнить запрос с помощью команды меню Запрос • Запуск.
8. Сохранить запрос под именем Сальдо П.
Пример 2 3
Внести изменение в инвентарные карточки ОС в связи с изменением ответст­
венности МОЛ.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицу Инвентарная карточка ОС.
4. Выполнить команду меню Запрос • Обновление.
5. В бланке запроса разместить поле Табельный номер из таблицы Инвентарная
карточка ОС, Обновление — [МОЛ кому], Условие отбора — [МОЛ от кого].
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
UPDATE [Инвентарная карточка ОС] SET [Инвентарная карточка ОС].
[Табельный номер] = [МОЛ KOiwy]WHERE ((([Инвентарная карточка ОС].
[Табельный номер])=[М0Л от K O T O ] ) ) W I T H OWNERACCESS OPTION;
6. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
7. Выполнить запрос с помощью команды меню Запрос • Запуск.
8. Сохранить запрос под именем Смена МОЛ.
604 Глава 7. Система управления базами данных MS Access 2000


Пример 24
Вычисление суммы амортизации для автотранспортных средств. Исходными дан­
ными для расчетов являются норма износа для группы автотранспортных средств
и величина пробега.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицы Инвентарный объект ОС, Группы ОС, Амортиза­
ция ОС.
4. Выполнить команду меню Запрос • Обновление.
5. В бланке запроса разместить:
О поле Сумма амортизации из таблицы Амортизация ОС, Обновление —
[Группы ОС]![Норма автотранспорта] * [Амортизация О С ] ! [ П р о б е г ] *
[Инвентарный объект ОС]![Начальная стоимость]/1000 1 ;
О поле Норма автотранспорта из таблицы Группы ОС, Условие отбора — >0.
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
UPDATE [Группы ОС] INNER JOIN ([Инвентарный объект ОС] INNER JOIN
[Амортизация ОС] ON ([Инвентарный объект ОС].[Инвентарный номер
ОС] = [Амортизация ОС].[Инвентарный номер ОС]) AND ([Инвентарный
объект ОС].[Инвентарный номер ОС] = [Амортизация ОС].[Инвентарный
номер ОС])) ON [Группы ОС].[Код группы ОС] = [Инвентарный объект
ОС].[Код группы ОС] SET [Амортизация ОС].[Сумма амортизации] =
[Инвентарный объект ОС]![Начальная стоимость]*[Амортизация
ОС]![Пробег]«[Группы ОС]![Норма автотранспорта]/1000 WHERE
( ( ( [ Г р у п п ы ОС].[Норма автотранспорта]) I s Not N u l l ) ) WITH
OWNERACCESS OPTION;
6. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
7. Выполнить запрос с помощью команды меню Запрос • Запуск.
8. Сохранить запрос под именем Месячный износ а/т средств.
Выполнение запроса можно совместить с работой в форме Объект ОС. На вклад­
ке Амортизация ОС можно разместить кнопку, обеспечивающую запуск запроса
для расчета амортизации для автотранспортных средств.
Последовательность действий.
1. Перейти на вкладку Формы.
2. Открыть форму Объект ОС в режиме конструктора.
3. Выбрать вкладку Амортизация.

1
Если в таблице Амортизация ОС учет пробега ведется в километрах, а нормы для начис­
ления износа по автотранспортным средствам приводятся на 1000 км, используется ко­
эффициент приведения — 1000.
605
Основные понятия СУБД Access


4. Разместить на вкладке командную кнопку, категория — Разное, действие —
Выполнить запрос, запрос — Месячный износ а/т средств, текст на кнопке —
Износ а/т.
5. Сохранить форму с помощью команды меню Файл • Сохранить.

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

Пример 25
Удаление инвентарных карточек в таблице Инвентарные карточки ОС. Удаляют­
ся карточки инвентарных объектов ОС, которые были открыты после указан­
ной даты. Соответствующие удаляемым карточкам инвентарные объекты ОС и
МОЛ должны быть сохранены.
Условие на удаление записей задано для полей той же таблицы. Таблица, в ко­
торой удаляются записи, связана с другими таблицами отношением М:1. При
удалении записей в исходной таблице связанные записи не удаляются.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицу Инвентарная карточка ОС.
4. Выполнить команду меню Запрос • Удаление. Автоматически создается запрос
на удаление всех записей в таблице.
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
DELETE * FROM [Инвентарная карточка ОС]
5. В бланке запроса разместить:
О все поля таблицы — символ *, Удаление — Из;
О поле Дата открытия карточки, Удаление — Условие, Условие отбора —
>=[Начальная д а т а ] .
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
DELETE [Инвентарная карточка О С ] . * , [Инвентарная карточка
ОС].[Дата открытия карточки] FROM [Инвентарная карточка ОС] WHERE
((([Инвентарная карточка ОС].[Дата открытия
карточки])>=[Начальная д а т а ] ) ) ;
6. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
7. Выполнить запрос с помощью команды меню Запрос • Запуск.
8. Сохранить запрос под именем Удаление карточек ОС.
606 Глава 7. Система управления базами данных MS Access 2000


Пример 26
Удаление инвентарных объектов определенной группы ОС по дополнительному
условию. Удаляются инвентарные объекты ОС, которые входят в группу ОС
48005 «ЭВМ персональные компьютеры» и имеют начальную стоимость ОС

<< Пред. стр.

страница 73
(всего 83)

ОГЛАВЛЕНИЕ

След. стр. >>

Copyright © Design by: Sunlight webdesign