Разработка базы данных "Программируемые логические интегральные микросхемы", страница 4

1.а. Вывод сведений о типе и количество поставленного товара.

SQL-код запроса «ЗапросПоставлено»:

SELECT Поставки.Тип, Sum(Поставки.Количество) AS Поставлено

FROM ПЛИС INNER JOIN Поставки ON ПЛИС.Тип=Поставки.Тип

GROUP BY Поставки.Тип;

1.б. Вывод сведений о типе и количество реализованного товара.

SQL-код запроса «ЗапросЗаказано»:

SELECT Заказано.Тип, Sum(Заказано.Количество) AS Заказано

FROM ПЛИС INNER JOIN Заказано ON ПЛИС.Тип=Заказано.Тип

GROUP BY Заказано.Тип;

            1.в. Вывод сведений о типе ПЛИС и остатке на складе

SQL-код запроса «ЗапросОстаток»:

SELECT ЗапросЗаказано.Тип,

(ЗапросПоставлено.Поставлено-ЗапросЗаказано.Заказано) AS Остаток

FROM ЗапросЗаказано, ЗапросПоставлено

WHERE ЗапросЗаказано.Тип=ЗапросПоставлено.Тип;


2.  Вывод сведений о ПЛИС с числом программируемых связей не менее … и с определенной технологией изготовления.

SQL-код запроса «ЗапросЧислСвяз&Техн»:

SELECT ПЛИС.*

FROM ПЛИС

WHERE (((ПЛИС.ЧислоСвязей)>=[Число программируемых связей не менее]) AND ((ПЛИС.Технология)=[Технология изготовления]));

Рис.7.   Конструктор запроса «ЗапросЧислСвяз&Техн».

В ходе выполнения запроса пользователю выводится вся информация о характеристиках ПЛИС, попадающих под введенные параметры поиска.

Результат выполнения запроса «ЗапросЧислСвяз&Техн»

Рис.8.   Конструктор запроса «ЗапросЧислСвяз&Техн».


3.   Вывод сведений о ПЛИС с числом программируемых связей […] временем задержки распространения сигнала не более […]

 SQL-код запроса «ЗапросЧислСвяз&Задержка»:

SELECT ПЛИС.*

FROM ПЛИС

WHERE ЧислоСвязей=[Число программируемых связей]

AND Задержка<=[Время задержки распространения сигнала не более, нс];

Рис.9.   Конструктор запроса «ЗапросЧислСвяз&Задержка».

В ходе выполнения запроса пользователю выводится вся информация о характеристиках ПЛИС, попадающих под введенные параметры поиска.

Результат выполнения запроса «ЗапросЧислСвяз&Задержка»

Рис.10.   Конструктор запроса «ЗапросЧислСвяз&Задержка».


4.  Вывод дополнительных сведений микросхемы ПЛИС типа …,

SQL-код запроса «ПЛИС&Особенности»:

SELECT ПЛИС.Тип, ПЛИС.Особенности

FROM ПЛИС

WHERE (((ПЛИС.Тип)=[Введите тип]));

Рис.11.   Конструктор запроса «ПЛИС&Особенности».

Результат выполнения запроса «ПЛИС&Особенности»

Рис.12.   Конструктор запроса «ПЛИС&Особенности».

5.  Вывод сведений о суммарной стоимости имеющихся на складе микросхем типа …

SQL-код запроса «ЗапросТип&ЦенаОбщ»:

SELECT ЗапросОстаток.Тип, (ЗапросОстаток.Остаток)*ПЛИС.Цена AS [Сумма,руб]

FROM ПЛИС INNER JOIN ЗапросОстаток ON ПЛИС.Тип = ЗапросОстаток.Тип

WHERE (((ЗапросОстаток.Тип)=[Тип ПЛИС]));

Рис.13.   Конструктор запроса «ЗапросТип&ЦенаОбщ».

В ходе выполнения запроса пользователю выводится информация о типе ПЛИС и суммарной стоимости ПЛИС данного типа, имеющихся на складе.

Рис.14.   Конструктор запроса «ЗапросТип&ЦенаОбщ».


6.  Вывод сведений о количестве имеющихся на складе микросхем определенной фирмы – производителя ...

SQL-код запроса «ЗапросОстаток&Фирма»:

SELECT ПЛИС.ФирмаИзготовитель, Sum(ЗапросОстаток.Остаток) AS Остаток

FROM ЗапросОстаток INNER JOIN ПЛИС ON ЗапросОстаток.Тип = ПЛИС.Тип

WHERE (((ПЛИС.ФирмаИзготовитель)=[Изготовитель]))

GROUP BY ПЛИС.ФирмаИзготовитель;

Рис.15.   Конструктор запроса «ЗапросОстаток&Фирма».

В ходе выполнения запроса пользователю выводится информация о типе ПЛИС и количестве ПЛИС данного типа, имеющихся на складе.

Рис.16.   Конструктор запроса «ЗапросОстаток&Фирма».


Создание отчетов

Создание отчета о выдаче ПЛИС со склада потребителям за определенный период с группировкой по кодам потребителей и сортировкой по типам микросхем.

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

SQL-код запроса «ЗапросПродажиЗаПериод»:

SELECT Заказы.КодПотребителя, Заказано.Тип, Заказано.Количество, Заказы.ДатаВыдачи AS [Дата выдачи]

FROM Заказы INNER JOIN Заказано ON Заказы.КодЗаказ = Заказано.КодЗаказ

WHERE (((Заказы.ДатаВыдачи)>[Начало периода]

AND (Заказы.ДатаВыдачи)<[Конец периода]));

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

Рис.17. Конструктор отчета «ОтчетОПродажах».

Рис.18. Пример отчета «Сведения о заказах».


Разработка интерфейса пользователя:

1.  Форма авторизации

Разработка была проведена с помощью конструктора форм, с последующей доработкой средствами Visual Basic for Application.

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

Рис.19. Вид формы «Форма авторизации».

При помощи средств Visual Basic for Application будут проверены имя пользователя и пароль, они записываются в глобальные переменные, которые будут доступны другим формам.

(аутентификация пользователей), в соответствии с введенным именем пользователя и при соответствии пароля откроется нужная форма (ФГостевая либо  ФГлМеню).

Код VBA:

Option Compare Database

Private Sub Кнопка0_Click()

User = Login.Value

Pass = Password.Value

If (User = "Guest" And Pass = "Guest") Then

DoCmd.Close

DoCmd.OpenForm "ФГостевая"

End If

If (User = "Admin" And Pass = "123456") Then

DoCmd.Close

DoCmd.OpenForm "ФГлМеню"

End If

End Sub

2.  Главная кнопочная форма

Разработка была проведена с помощью конструктора форм.

Данная форма предназначена для запуска различных запросов и меню.

Рис.20. Вид главной кнопочной формы

 (вход под учетной записью «администратор»)

Рис.21. Вид кнопочной формы (вход под учетной записью «гость»)

3.  Форма «ПЛИС»

Разработка была проведена с помощью конструктора форм, с последующей доработкой средствами Visual Basic for Application.

Данная форма позволяет получать сведения (а в случае входа под учетной записью администратора так же изменять, дополнять или удалять сведения) о ПЛИС, информация о которых занесена в базу.