Добавлен: 15.11.2018
Просмотров: 4765
Скачиваний: 153
11
,Orders.OrderFinishDate
,Clients.ClientName + ' ' + Clients.ClientSurname;
GetUndiagnosedOrders : Запрос выводит все заказы для которых не была проведена
диагностика.
SELECT Orders.OrderId
,Orders.RepairItem
,Clients.ClientName + ' ' + Clients.ClientSurname AS Client
,Clients.Phone
,Orders.OrderPlaceDate
FROM (
Clients INNER JOIN Orders ON Clients.PersonalNumber = Orders.ClientId
)
LEFT JOIN [Diagnostics] ON Orders.OrderId = Diagnostics.OrderId
WHERE (((Diagnostics.DiagId) IS NULL))
ORDER BY Orders.OrderPlaceDate;
GetUndiagnosedOrderIds : Запрос выводит ID заказов без диагностики.
SELECT o.OrderId
FROM Orders AS o
LEFT JOIN [Diagnostics] AS d ON o.OrderId = d.OrderId
WHERE (((d.DiagId) IS NULL));
GetUnusedOrAbsentParts : Запрос выводит список запчастей, которые не
заразервированы для заказа или типы и производителей запчастей которые отсутствуют
на складе.
SELECT Parts.SerialNumber, Parts.Model, Models.Type, Models.Vendor
FROM Models
RIGHT JOIN Parts ON Models.ModelID = Parts.Model
WHERE (((Parts.OrderReservation) Is Null))
ORDER BY Models.Type DESC , Models.Vendor DESC;
getUndiagnosedRecords : Запрос выводит список атрибутов по заказам, для которых не
было произведено диагностики. Запрос используется на форме диагностики.
SELECT Orders.RepairItem
,Orders.OrderId
,Diagnostics.DiagDate
,Diagnostics.ProblemDescription
,Diagnostics.DiagPrice
FROM Orders
LEFT JOIN [Diagnostics] ON Orders.OrderId = Diagnostics.OrderId
WHERE (((Diagnostics.OrderId) IS NULL));
getUndiagnosedOrderIds : Запрос выводит список атрибутов по заказам, для которых не
было произведено диагностики. Запрос используется на форме диагностики.
SELECT Orders.RepairItem
,Orders.OrderId
,Diagnostics.DiagDate
,Diagnostics.ProblemDescription
,Diagnostics.DiagPrice
FROM Orders
LEFT JOIN [Diagnostics] ON Orders.OrderId = Diagnostics.OrderId
WHERE (((Diagnostics.OrderId) IS NULL));
12
OrderState : Запрос готовит список записей для отчета о состоянии заказа клиента.
SELECT Clients.PersonalNumber
,Clients.ClientName + ' ' + Clients.ClientSurname AS FullName
,Clients.Phone
,Clients.Address
,Clients.PersonalNumber
,Diagnostics.DiagDate
,Diagnostics.ProblemDescription
,Diagnostics.DiagPrice
,Diagnostics.OrderId
,Orders.OrderPlaceDate
,Orders.OrderFinishDate
,Orders.WorkPrice
,Orders.RepairItem
,Parts.Price
,Parts.Model
FROM ((Clients
INNER JOIN Orders ON Clients.PersonalNumber = Orders.ClientId)
LEFT JOIN [Diagnostics] ON Orders.OrderId = Diagnostics.OrderId)
LEFT JOIN Parts ON Orders.OrderId = Parts.OrderReservation
WHERE (((Clients.PersonalNumber) = [Forms] ! [HomeMenu] ! [Combo18].[Value]));
MakeReceipts : Скрипт генерирует записи о завершенных заказах в таблице квитанций.
INSERT INTO Receipts (OrderId)
SELECT o.OrderId
FROM Orders AS o
LEFT JOIN Receipts AS r ON r.OrderId = o.OrderId
WHERE o.OrderFinishDate IS NOT NULL
AND r.ReceiptNumber IS NULL;
9. Реализация форм и отчетов
В среде СУБД были реализованы следующие компоненты: главное меню для доступа к
прочим функциональным разделам (рис. 11), форма управления заказами (рис. 12), форма
управления складом (рис. 13), форма диагностики (рис. 14). Для доступа к отчетам
необходимо использовать соответствующие кнопки. Система позволяет получить
следующие отчеты: отчет о выполненых заказах (рис. 15), отчет о заказах, требующих
диагностики (рис. 16), отчет о доступности комплектующих на складе (рис. 17), отчет о
состоянии заказа клиента (рис. 18). Так же на форме присутствует кнопка формирования
квитанций, после нажатия которой формируются записи о законченых заказах и датах их
оплаты.
На главном меню пока не будет выбран клиент – кнопка просмотра отчета по заказу не
будет активна. Для этого был реализован следующий код на VB:
Private Sub Combo18_Change()
EnableOrderState
End Sub
Private Sub Form_Load()
EnableOrderState
End Sub
Public Sub EnableOrderState()
Form_HomeMenu.Combo18.SetFocus
13
If Form_HomeMenu.Combo18.SelLength > 1 Then
btnOrderState.Enabled = True
Else
btnOrderState.Enabled = False
End If
End Sub
Рисунок 11: Главное меню
Рисунок 12: Форма управления заказами
14
Рисунок 13: Форма управления складом
Рисунок 14: Форма диагностики
15
Рисунок 15: Отчет о выполненых заказах