LINEBURG


<< Пред. стр.

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

ОГЛАВЛЕНИЕ

След. стр. >>

2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить таблицу Инвентарный объект ОС.
4. Результирующая таблица содержит все поля таблицы; для этого выбрать поле *.
5. Для проверки даты поступления ОС добавить в бланк запроса поле Дата при­
обретения, Вывод на экран — Нет, Условие отбора — Between [Начальная дата]
And [Конечная дата].

ПРИМЕЧАНИЕ
В квадратных скобках заданы имена параметров, которым при выполнении запроса мож­
но присвоить любые значения.

Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
SELECT [Инвентарный объект О С ] . * FROM [Инвентарный объект ОС]
WHERE ((([Инвентарный объект ОС].[Дата приобретения]) Between
[Начальная дата] And [Конечная д а т а ] ) ) WITH OWNERACCESS OPTION;
6. Выполнить запрос — команда меню Запрос • Запуск. Ввести значение пара­
метра Дата начальная и Дата конечная.
7. Сохранить запрос под именем Поступление ОС.

Список выбывших ОС
Запрос должен обеспечить гибкое изменение условий фильтрации — интервала
дат, за которые выбывали ОС.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить таблицу Инвентарный объект ОС.
4. Результирующая таблица содержит все поля таблицы; для этого выбрать
поле *.
5. Для проверки даты списания ОС добавить в бланк запроса поле Дата списа­
ния, Вывод на экран — Нет, Условие отбора — Between [Начальная дата] And
[Конечная дата].

ПРИМЕЧАНИЕ
В квадратных скобках заданы имена параметров, которым при выполнении запроса мож­
но присвоить любые значения.

Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
SELECT [Инвентарный объект ОС].* FROM [Инвентарный объект
0C]WHERE ((([Инвентарный объект ОС].[Дата списания]) Between
[Начальная дата] And [Конечная дата]))И1ТН OWNERACCESS OPTION;
589
Основные понятия СУБД Access


6. Выполнить запрос — команда меню Запрос • Запуск.
7. Сохранить запрос под именем Выбытие ОС.

Список наличных О С
Запрос должен обеспечить гибкое изменение условий фильтрации — даты, на ко­
торую формируются сведения о наличии ОС.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить таблицу Инвентарный объект ОС.
4. Результирующая таблица содержит все поля таблицы; для этого выбрать
поле *.
5. Добавить в бланк запроса поле Дата постановки на учет, Вывод на экран — Нет,
Условие отбора : Is Not Null AND <=[Дата].
6. Добавить в бланк запроса поле Дата списания, Вывод на экран — Нет, Условие
отбора: Is Not Null A D <=[Дата].
N
7. Добавить в бланк запроса поле Дата списания, Вывод на экран — Нет, Условие
отбора для поля Дата списания — Is Null Or >[Дата].

ПРИМЕЧАНИЕ
В квадратных скобках задано имя параметра, которому при выполнении запроса можно
присвоить любое значение.

Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
SELECT [Инвентарный объект О С ] . * FROM [Инвентарный объект ОС]
WHERE ((([Инвентарный объект ОС].[Дата постановки на у ч е т ] ) I s
Not N u l l And ([Инвентарный объект ОС].[Дата постановки на
у ч е т ] ) < = [ Д а т а ] ) AND (([Инвентарный объект ОС].[Дата списания]) I s
N u l l Or ([Инвентарный объект ОС].[Дата с п и с а н и я ] ) > [ Д а т а ] ) ) WITH
0WNERACCE5S OPTION;
8. Выполнить запрос — команда меню Запрос • Запуск.
9. Сохранить запрос под именем Наличие ОС.

Итоговые показатели по группе ОС
Запрос вычисляет итоговые показатели по группам ОС.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить таблицу Инвентарный объект ОС.
4. Результирующая таблица содержит поля таблицы: Код группы ОС, Начальная
стоимость, Инвентарный номер.
590 Глава 7. Система управления базами данных MS Access 2000


5. Создать с помощью построителя выражений вычисляемое поле с именем Ос -
таточная стоимость: [Инвентарный объект ОС]![Начальная с т о и м о с т ь ] -
[Инвентарный объект ОС]![Начальный H3HOC]-NZ([Инвентарный объект
ОС]![Накопленный и з н о с ] ) .

ПРИМЕЧАНИЕ
Функция NZ обеспечивает преобразование пустого значения в 0.

6. Сформировать итоги с помощью команды меню Вид • Групповые операции.
Указать для стоимостных полей тип операции — Sum, для инвентарного но­
мера — Count.
7. Перед названием поля Начальная стоимость вставить Первоначальная стои­
мость:, перед полем Инвентарный номер — Всего:.
8. Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
SELECT [Инвентарный объект ОС].[Код группы ОС], Sum([Инвентарный
объект ОС].[Начальная стоимость]) AS [Начальная с т о и м о с т ь ] ,
Sum(([Инвентарный объект ОС]![Начальная стоимость]-[Инвентарный
объект ОС]![Начальный износ]-NZ([Инвентарный объект
ОС]![Накопленный и з н о с ] ) ) ) AS [Остаточная с т о и м о с т ь ] ,
Count([Инвентарный объект ОС].[Инвентарный номер ОС]) AS Всего
FROM [Инвентарный объект 0C]GR0UP BY [Инвентарный объект ОС].[Код
группы ОС]WITH OWNERACCESS OPTION;
9. Выполнить запрос — команда меню Запрос • Запуск.
10. Сохранить запрос под именем Итоги ОС по группам.
Выборка ОС по стоимости
Сначала создается запрос для вычисления средней начальной стоимости ОС —
Средняя стоимость ОС. Затем создается запрос Выше средней стоимости ОС, в
котором первый запрос используется в качестве подзапроса для выбора ОС, на­
чальная стоимость которых выше средней.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить таблицу Инвентарный объект ОС.
4. Результирующая таблица содержит поля Начальная стоимость и Дата списания.
5. Сформировать итог с помощью команды меню Вид • Групповые операции. Ука­
зать для поля Начальная стоимость тип операции — Avg (среднее), для поля
Дата списания тип операции — Условие, Условие отбора — Is Null.
6. Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
SELECT Avg([Инвентарный объект ОС].[Начальная стоимость]) AS
[Avg-Начальная стоимость]FROM [Инвентарный объект ОС] WHERE
((([Инвентарный объект ОС].[Дата списания]) I s N u l l ) ) WITH
OWNERACCESS OPTION;
591
Основные понятия СУБД Access


7. Выполнить запрос — команда меню Запрос • Запуск.
8. Сохранить запрос под именем Средняя стоимость ОС.
9. Перейти на вкладку Запросы.
10. Нажать кнопку Создать, выбрать Конструктор.
11. Добавить таблицу Инвентарный объект ОС.
12. Результирующая таблица содержит все поля таблицы; для этого выбрать
поле *.
13. Добавить в бланк запроса поле Начальная стоимость, Вывод на экран — Нет,
Условие отбора — подзапрос Средняя стоимость ОС на языке SQL, заключен­
ный в круглые скобки.
14. Добавить в бланк запроса поле Дата списания, Вывод на экран — Нет, Условие
отбора - Is Not Null.
15. Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
SELECT [Инвентарный объект ОС]. * FROM [Инвентарный объект ОС] WHERE
((([Инвентарный объект ОС]. [Начальная CTOHMOCTb])>(SELECT Avg([Инвентарный объект
ОС]. [Начальная стоимость]) AS [Avg-Начапьная стоимость] FROM [Инвентарный объект
ОС] WITH OWNERACCESS OPTION)) AND (([Инвентарный объект ОС]. [Дата списания]) Is
Null)) WITH OWNERACCESS OPTION ;

16. Выполнить запрос — команда меню Запрос • Запуск.
17. Сохранить запрос под именем Выше средней стоимости ОС.
Пример 16
Выборка проводок из ЖХО за определенный интервал дат, который задается
при выполнении запроса. Если запрос является базовым для построения диа­
граммы или перекрестного запроса либо условия задаются для логических по­
лей или полей таблиц из внешних БД, вводится определение параметров запро­
са с помощью команды меню Запрос • Параметры.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить таблицу ЖХО.
4. Результирующая таблица содержит все поля таблицы; для этого выбрать поле *.
5. Добавить в бланк запроса поле Дата проводки (операции), Вывод на экран —
Нет, Условие отбора — Between [Дата начала] And [Дата конца].
6. Задать тип данных для параметров запроса — команда меню Запрос • Пара­
метры:
О Дата начала — тип Дата/Время;
О Дата конца — тип Дата/Время.
7. Запрос на языке SQL — команда меню Вид • Режим SQL:
PARAMETERS [Дата начала] DateTime, [Дата конца] DateTime;
Глава 7. Система управления базами данных MS Access 2000
592

SELECT ЖХО.* FROM ЖХО WHERE (((ЖХО.[Дата проводки (операции)])
Between [Дата начала] And [Дата к о н ц а ] ) )
WITH OWNERACCESS OPTION;
8. Выполнить запрос — команда меню Запрос • Запуск.
9 Сохранить запрос под именем Журнал операций.

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

ПРИМЕЧАНИЕ
При повторном выполнении запроса на создание таблицы проверяется наличие таблицы
с указанным именем, задается вопрос о возможности ее удаления. Если удаление не под­
тверждается, запрос не выполняется.

Пример 17
На основе таблицы ЖХО создать новые таблицы: Обороты по дебету счета, Обо­
роты по кредиту счета. Таблицы содержат итоговые обороты по каждому счету за
указанный учетный период — месяц. Структура записи таблиц:
• Счет (дебет/кредит).
• Субсчет (дебет/кредит).
• Дебетовый/кредитовый оборот.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицы ЖХО и Счет.
4. Удалить связи таблиц ЖХО и Счет для ключей связи Номер счета кредита,
Номер субсчета кредита.
5. Включить в результирующую таблицу поля таблицы Счет: Номер счета; Но­
мер субсчета.
6. Включить в результирующую таблицу поле таблицы ЖХО: Сумма операции.
7. Включить в результирующую таблицу вычисляемое выражение — Month
([Дата проводки (операции)]) для поля Дата проводки (операции) таб­
лицы ЖХО.
8. Сформировать итог с помощью команды меню Вид • Групповые операции. Ука­
зать для поля Сумма операции тип операции — Sum. Ввести имя поля — ДО.
593
Основные понятия СУБД Access


9. Задать в строке Условие отбора записей для вычисляемого поля выражение
Month([Укажите дату начала учетного периода]). В строке Групповая операция
указать Условие.
10. Изменить тип запроса с помощью команды меню Запрос • Создание таблицы,
указать имя таблицы — Обороты по дебету счета.
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
SELECT Счет.[Номер с ч е т а ] , Счет.[Номер с у б с ч е т а ] , Sum()KX0.[Сумма
операции]) AS ДО INTO [Обороты по дебету счета] FROM Счет INNER
JOIN ЖХО ON (Счет.[Номер субсчета] = ЖХО.[Номер субсчета дебета])
AND (Счет.[Номер счета] = ЖХО.[Номер счета дебета])WHERE
( ( ( M o n t h ( [ Д а т а проводки (операции)]))=Month([Укажите дату начала
учетного п е р и о д а ] ) ) ) GROUP BY Счет.[Номер с ч е т а ] , Счет.[Номер
субсчета] WITH OWNERACCESS OPTION;
11. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
12. Выполнить запрос с помощью команды меню Запрос • Запуск.
13. Сохранить запрос под именем ДО.
14. Перейти на вкладку Запросы.
15. Нажать кнопку Создать, выбрать Конструктор.
16. Добавить в запрос таблицы ЖХО и Счет.
17. Удалить связи таблиц ЖХО и Счет для ключей связи Номер счета дебета, Но­
мер субсчета дебета.
18. Включить в результирующую таблицу поля таблицы Счет: Номер счета; Но­
мер субсчета.
19. Включить в результирующую таблицу поле таблицы ЖХО: Сумма операции.
20. Включить в результирующую таблицу вычисляемое выражение — Month
([Дата проводки (операции)]) для поля Дата проводки (операции) таб­
лицы ЖХО.
21. Сформировать итог с помощью команды меню Вид • Групповые операции. Ука­
зать для поля Сумма операции тип операции — Sum. Ввести имя поля — КО.
22. Задать в строке Условие отбора записей для вычисляемого поля выражение
Моп1п([Укажите дату начала учетного периода]). В строке Групповая операция
указать Условие.
23. Изменить тип запроса с помощью команды меню Запрос • Создание таблицы,
указать имя таблицы — Обороты по кредиту счета.
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
SELECT Счет.[Номер с ч е т а ] , Счет.[Номер с у б с ч е т а ] , 5ит(ЖХ0.[Сумма
операции]) AS КО INTO [Обороты по кредиту счета] FROM Счет INNER
JOIN ЖХО ON (Счет.[Номер субсчета] = ЖХО.[Номер субсчета
кредита]) AND (Счет.[Номер счета] = ЖХО.[Номер счета кредита])
GROUP BY Счет.[Номер с ч е т а ] , Счет.[Номер с у б с ч е т а ] , Month([AaTa
проводки (операции)]) HAVING ( ( ( M o n t h ( [ Д а т а проводки
594 Глава 7. Система управления базами данных MS Access 2000


(операции)]))=Month([Укажите дату начала учетного периода])))
WITH OWNERACCESS OPTION;
24. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
25. Выполнить запрос с помощью команды меню Запрос • Запуск.
26. Сохранить запрос под именем ДО.
Пример 18
Создать новую таблицу для закрытых инвентарных карточек ОС. Последова­
тельность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицы Инвентарная карточка ОС, Инвентарный объект ОС,
МОЛ, Группа ОС.
4. Результирующая таблица содержит все поля таблицы Инвентарная карточка
ОС (перетащить/выбрать поле *), а также справочные поля для расшифровки
кодов МОЛ и группы ОС: Фамилия, Имя, Отчество, Наименование группы ОС.
5. Добавить в бланк запроса поле Дата закрытия карточки, Вывод на экран — Нет,
Условие отбора — Is Not Null.
6. Изменить тип запроса с помощью команды меню Запрос • Создание таблицы,
указать имя таблицы — Закрытые ИК ОС.
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
SELECT [Инвентарная карточка О С ] . * , [Группы ОС].[Наименование
группы ОС], МОЛ.Фамилия, МОЛ.Имя, МОЛ.Отчество INTO [Закрытые ИК
ОС]FROM МОЛ INNER JOIN ([Группы ОС] INNER JOIN ([Инвентарный
объект ОС] INNER JOIN [Инвентарная карточка ОС] ON ([Инвентарный
объект ОС].[Инвентарный номер ОС] = [Инвентарная карточка
ОС].[Инвентарный номер ОС]) AND ([Инвентарный объект
ОС].[Инвентарный номер ОС] = [Инвентарная карточка
ОС].[Инвентарный номер ОС])) ON [Группы ОС].[Код группы ОС] =
[Инвентарный объект ОС].[Код группы ОС]) ON (МОЛ.[Табельный
номер] = [Инвентарная карточка ОС].[Табельный номер]) AND
(МОП.[Табельный номер] = [Инвентарная карточка ОС].[Табельный
номер])WHERE ((([Инвентарная карточка ОС].[Дата закрытия
к а р т о ч к и ] ) I s Not Null))WITH OWNERACCESS OPTION;
7. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
8. Выполнить запрос с помощью команды меню Запрос • Запуск.
9. Сохранить запрос под именем Закрытые карточки ОС
595
Основные понятия СУБД Access


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

Пример 19
Добавить в таблицу Закрытые ИК ОС инвентарные карточки автотранспортных
средств.
Последовательность действий.
1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицы Инвентарный объект ОС, Группа ОС.
4. Команда меню Запрос • Добавление, указать таблицу, в которую производит­
ся добавление записей — Закрытые И К ОС.
5. Выполнить настройку загрузочной записи для таблицы Закрытые ИК ОС:
О выбрать все поля таблицы Инвентарная карточка ОС — Инвентарная карточ­
ка ОС.*;
О добавить поле Норма автотранспорта из таблицы Группа ОС, Условие отбо­
ра — Is Not Null.
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
INSERT INTO [Закрытые ИК ОС]SELECT [Инвентарная карточка О С ] . *
FROM [Группы ОС] INNER JOIN ([Инвентарный объект ОС] INNER JOIN
[Инвентарная карточка ОС] ON ([Инвентарный объект
ОС]. [Инвентарный номер ОС] = [Инвентарная карточка
ОС].[Инвентарный номер ОС]) AND ([Инвентарный объект
ОС].[Инвентарный номер ОС] = [Инвентарная карточка
ОС].[Инвентарный номер ОС])) ON [Группы ОС].[Код группы ОС] =
[Инвентарный объект ОС].[Код группы ОС]WHERE ( ( ( [ Г р у п п ы
ОС].[Норма автотранспорта]) I s Not NulI))WITH OWNERACCESS OPTION;
6. Проверить результат выполнения запроса с помощью команды меню Вид •
Режим таблицы.
7. Выполнить запрос с помощью команды меню Запрос • Запуск.
8. Сохранить запрос под именем Добавление в архив ИК.
Пример 20
Добавить новые записи в таблицу Амортизация ОС для нового учетного периода,
выполнить расчет месячного износа ОС.
596 Глава 7. Система управления базами данных MS Access 2000


Для определенного учетного периода в таблице Амортизация ОС по каждому ин­
вентарному объекту создается новая запись, вычисляется сумма месячного из­
носа для всех ОС, кроме автотранспортных средств. По правилам бухгалтерско­
го учета амортизация начинает начисляться со следующего за датой постановки
на учет месяца и прекращается на следующий месяц после даты выбытия ОС.
Условимся считать, что износ начисляется до полного восстановления началь­
ной стоимости ОС.
Последовательность действий.

1. Перейти на вкладку Запросы.
2. Нажать кнопку Создать, выбрать Конструктор.
3. Добавить в запрос таблицы Инвентарный объект ОС, Группа ОС.
4. Выполнить команду меню Запрос • Добавление, указать таблицу, в которую
производится добавление записей — Амортизация ОС.
5. Выполнить настройку загрузочной записи для таблицы Амортизация ОС:
О поле — Инвентарный номер ОС из таблицы Инвентарный объект ОС, Добав­
ление — поле Инвентарный номер ОС;
О вычисляемое выражение периода расчета амортизации: Дата: [Дата нача­
ла расчета амортизации], Добавление — поле Дата амортизации;
О вычисляемое выражение для суммы месячного износа: Амортизация:
[Инвентарный объект ОС]![Начальная стоимость]*NZ([Группы ОС]!
[Годовая норма амортизации]/12), Добавление — поле Сумма амортиза­
ции;
О поле Начальная стоимость таблицы Инвентарный номер ОС, Условие отбо­
ра: >NZ([Инвентарный объект ОС]![Накопленный износ])+NZ([Группы
ОС]! [Годовая норма амортизации])*[Инвентарный объект ОС]![На­
чальная с т о и м о с т ь ] / 1 2 ) ;
О вычисляемое выражение для даты начала начисления износа: DateAdd
("m",1,[Инвентарный объект ОС]![Дата постановки на у ч е т ] ) , Усло­
вие отбора: <=[Дата расчета амортизации];
О поле [Дата списания] из таблицы Инвентарный объект ОС, Условие отбора:
>[Дата расчета амортизации] Or I s N u l l .
Запрос на языке SQL имеет вид (команда меню Вид • Режим SQL):
INSERT INTO [Амортизация ОС] ([Инвентарный номер ОС], [Дата
амортизации], [Сумма амортизации]) SELECT [Инвентарный объект
ОС].[Инвентарный номер ОС], [Дата расчета амортизации] AS Дата,
[Инвентарный объект ОС]![Начальная стоимость]*NZ([Группы
ОС]![Годовая норма амортизации]/12) AS Амортизация FROM [Группы
ОС] INNER JOIN [Инвентарный объект ОС] ON [Группы ОС].[Код группы
ОС] = [Инвентарный объект ОС].[Код группы ОС] WHERE
((([Инвентарный объект ОС].[Начальная стоимость])
>NZ([Инвентарный объект ОС]![Накопленный износ])+NZ([Группы
ОС]![Годовая норма амортизации])*[Инвентарный объект
ОС]! [Начальная стоимость]/12) AND ((DateAdd("m",1,[Инвентарный
597
Основные понятия СУБД Access

<< Пред. стр.

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

ОГЛАВЛЕНИЕ

След. стр. >>

Copyright © Design by: Sunlight webdesign