Информационная система учета и поверки |
Страница 12 из 13
Задача вывода списка приборов прошедших поверку за определенный период. Цель: пользователь вводит интересующий его период времени и получает список приборов прошедших проверку за это время. Для решения данной задачи был создан запрос на выборку. В качестве источника – таблица «Поверка», поля: номер протокола, Заводской номер, дата последней поверки, Годен_Негоден. Затем с помощью мастера отчетов был создан отчет. SQL код: SELECT TOP 100 PERCENT [Номер протокола], [Заводской номер], [Дата последней поверки] FROM dbo.Поверка WHERE ([Дата последней поверки] BETWEEN @период_от_ AND @до) AND (Годен_Негоден = 1) ORDER BY [Дата последней поверки] Рис.17. Запрос «Приборы прошедшие поверку за определенный период» Запрос «Приборы находящиеся на ремонте» SELECT dbo.[Ремонтные работы].[Номер наряда], dbo.[Ремонтные работы]. [Заводской номер], dbo.[Ремонтные работы].[Дата приема], dbo.[Ремонтные работы].[Дата окончания], dbo.Приборы.Наименование, dbo.Приборы.[Место установки] FROM dbo.[Ремонтные работы] INNER JOIN dbo.Приборы ON dbo.[Ремонтные работы].[Заводской номер] = dbo.Приборы.[Заводской номер] WHERE (dbo.[Ремонтные работы].[Дата окончания] > GETDATE()) Запрос «Длительность ремонта» Данный запрос позволяет подсчитать время нахождения прибора в днях. Значения подсчета выводятся в столбце «Время ремонта». SQL код: SELECT [Номер наряда], [Заводской номер], [Дата приема], [Дата окончания], DATEDIFF (y, [Дата приема], [Дата окончания]) AS [Время ремонта в днях] FROM dbo.[Ремонтные работы]) Рис.18. Представление «Длительность ремонтных работ» Задача ежемесячный отчет Отчет создавался на основе представления. Итоговые данные выводятся в форму «Ежемесячный отчет». Предусмотрена кнопка «Подробнее», где выводятся данные о поверенных приборах в текущем месяце. SQL код: SELECT COUNT(dbo.[Ремонтные работы].[Номер наряда]) AS Количество, COUNT(dbo.Поверка.[Номер протокола]) AS [Количество поверенных приборов] FROM dbo.[Ремонтные работы] CROSS JOIN dbo.Поверка WHERE (MONTH(dbo.[Ремонтные работы].[Дата окончания]) = MONTH(GETDATE())) AND (YEAR(dbo.[Ремонтные работы].[Дата окончания]) = YEAR(GETDATE())) OR (YEAR(dbo.Поверка.[Дата последней поверки]) = YEAR(GETDATE())) AND (MONTH(dbo.Поверка.[Дата последней поверки]) = MONTH(GETDATE())) Рис. 19. Форма «Ежемесячный отчет»
|