При выборе из главного меню пункта «Отчеты», открывается форма, позволяющая сформировать три отчета.
При выборе из главного меню пункта «Выходная информация», открывается форма «Запросы», позволяющая, осуществить запросы.
Запрос «Поиск потребителей по изделию» позволяет вывести отчет по потребителям, которые приобрели данный товар.
Запрос «Покупки с наибольшей стоимостью», позволяет сформировать отчет «Лучшие клиенты» (выводится 10 записей).
Запрос «Товарооборот за дату» позволяет вывести отчет о товарообороте, который был совершен за конкретную дату.
Запрос «Товарооборот за период» позволяет вывести отчет о товарообороте, который был совершен за конкретный период.
При выборе пункта меню «Справка о программе», выводится следующие окно.
При выборе пункта меню «Выход из программы», сохраняются все данные и автоматически производится выход из БД.
ДОКУМЕНТАЦИЯ РАЗРАБОТКИ
1. Справочные таблицы.
Таблица «Изделия»
IZ |
||
kodI |
naimI |
zena |
1 |
Телевизор |
10 000,00р. |
Таблица «Потребители»
Potr |
||
kodP |
naimP |
adrP |
1 |
Петров А.Р. |
Кутузовскийпр., 18 |
Таблица «Товарооборот»
Tov |
||||
nom |
kodP |
kodI |
kol |
stoim |
1 |
19 |
17 |
2 |
700,00р. |
2. Схема БД.
3. Текст запросов.
3.1. Поиск потребителей по заданному изделию.
SELECT DISTINCT Potr.naimP AS Потребитель, Potr.adrP AS [Адрес потребителя], Tov.data AS Дата, IZ.naimI
FROM Potr INNER JOIN (IZ INNER JOIN Tov ON IZ.kodI = Tov.kodI) ON Potr.kodP = Tov.kodP
WHERE (((IZ.naimI)=[Введите наименование изделия:]))
ORDER BY Potr.naimP;
3.2. Покупки с наибольшей стоимостью.
SELECT TOP 10 Potr.naimP AS Потребитель, Sum(Tov.stoim) AS [Общая стоимость], Tov.data AS Дата
FROM Potr, IZ, Tov
WHERE (((IZ.kodI)=[Tov].[kodI]) AND ((Potr.kodP)=[Tov].[kodP]))
GROUP BY Potr.naimP, Tov.data, Potr.adrP
ORDER BY Sum(Tov.stoim) DESC;
3.3. Товарооборот за дату
SELECT DISTINCT Potr.naimP AS Потребитель, IZ.naimI AS Изделие, Tov.stoim AS Стоимость, Tov.data
FROM Potr INNER JOIN (IZ INNER JOIN Tov ON IZ.kodI = Tov.kodI) ON Potr.kodP = Tov.kodP
WHERE (((Tov.data)=[Введите дату:]));
3.4. Товарооборот за период
SELECT DISTINCT [Potr].[naimP] AS Потребитель, [IZ].[naimI] AS Изделие, [Tov].[stoim] AS Стоимость, [Tov].[data] AS Дата
FROM Potr INNER JOIN (IZ INNER JOIN Tov ON [IZ].[kodI]=[Tov].[kodI]) ON [Potr].[kodP]=[Tov].[kodP]
WHERE ((([Tov].[data]) Between [Введите начальную дату:] And [Введите конечную дату:]) And (([Введите начальную дату:])<=[Введите конечную дату:]))
ORDER BY [Tov].[data];
4. Кодирование модулей для форм
4.1. Форма «Потребители»
Private Sub Form_Load()
КнопкаД2.Enabled = True
Отчет2.Enabled = True
cmdDel.Visible = True
cmdSave.Visible = False
End Sub
// Программа на кнопку «Отчет»
Private Sub Отчет2_Click()
On Error GoTo Err_Отчет2_Click
Dim stDocName As String
stDocName = ChrW(1055) & ChrW(1086) & ChrW(1090) & ChrW(1088) & ChrW(1077) & ChrW(1073) & ChrW(1080) & ChrW(1090) & ChrW(1077) & ChrW(1083) & ChrW(1080)
DoCmd.OpenReport stDocName, acPreview
Exit_Отчет2_Click:
Exit Sub
Err_Отчет2_Click:
MsgBox Err.Description
Resume Exit_Отчет2_Click
End Sub
//Программа на кнопку «Добавить»
Private Sub КнопкаД2_Click()
On Error GoTo Err_КнопкаД2_Click
kodP.SetFocus
КнопкаД2.Enabled = False
cmdDel.Enabled = False
Отчет2.Visible = False
cmdSave.Visible = True
Dim stDocName As String
stDocName = "SQL4"
DoCmd.RunMacro stDocName
Exit_КнопкаД2_Click:
Exit Sub
Err_КнопкаД2_Click:
MsgBox Err.Description
Resume Exit_КнопкаД2_Click
End Sub
// Программа на кнопку «Удалить»
Private Sub cmdDel_Click()
On Error GoTo Err_cmdDel_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Exit_cmdDel_Click:
Exit Sub
Err_cmdDel_Click:
MsgBox Err.Description
Resume Exit_cmdDel_Click
End Sub
// Программа на кнопку «Сохранить»
Private Sub cmdSave_Click()
On Error GoTo Err_cmdSave_Click
kodP.SetFocus
КнопкаД2.Enabled = True
cmdDel.Enabled = True
Отчет2.Visible = True
cmdSave.Visible = False
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Exit_cmdSave_Click:
Exit Sub
Err_cmdSave_Click:
MsgBox Err.Description
Resume Exit_cmdSave_Click
End Sub
4.2. Форма «Изделия»
// Программа на кнопку «Сохранить»
Private Sub cmdSave_Click()
On Error GoTo Err_cmdSave_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
kodI.SetFocus
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.