Файл: Вдовин Суркова Валентинов Теория систем и системный анализ.pdf
Добавлен: 12.02.2019
Просмотров: 22629
Скачиваний: 340
584
585
Рис. 3.79. Активизация рабочего поля формы для разработки
программного кода
социально-экономические и финансовые показатели райо-
на (территории), где проживают плательщики;
Ввод формул в программу осуществляется с помощью по-
строителя выражений либо посредством подпрограмм, разра-
ботанных в VBA (так, как это сделано в программе Private Sub
Кнопка14_Click(), см. ниже).
5. Разработка программ для решения различных задач уче-
та, статистики, и анализа
Разработка осуществляется в такой последовательности
(рассматривается для формы “Платежи_ф”):
вызвать форму “Платежи_ф:форма” и перейти в режим
“Конструктор”;
щелчком правой кнопки мыши в поле формы вызвать
меню, в поле которого нажать кнопку “Обработка событий”;
в появившемся диалоговом окне “Построитель” выделить
“Программы” (рис. 3.79);
после нажатия кнопки “ОК” активизируется “Visual Basik”,
и в его проекте будет сформирована форма Form_Платежи_ф
(рис. 3.80).
Программа ввода текущего времени.
Private Sub Кнопка68_Click()
УЧЕТ.Form_Платежи_ф.Поле40 = Now()
End Sub
При нажатии кнопки “Ввести текущее врем” время вводится
в Поле 40 (“Дата_платежа” формы “Патежи_ф”, а в последую-
щем в поле “Дата_платежа” таблицы “Платежи_т”.
Программа для расчета показателей платежей.
Private Sub Кнопка14_Click()
Dim a As Double, b As Double, c As Single, s As Single, t As Single
a = УЧЕТ.Form_Платежи_ф.Сумма_платежа.Value
b = УЧЕТ.Form_Платежи_ф.Пени.Value
c = a + a * b / 100
УЧЕТ.Form_Платежи_ф.Сумма_с_учетом_пени.Value = c
n = DCount(“Код”, “Платежи_т”)
Поле20 = n
s = DSum(“Сумма_с_учетом_пени”, “Платежи_т”)Поле22 = s
УЧЕТ.Form_Платежи_ф.Recordset.FindFirst “Код=” & Str(i)
End Sub
586
587
Рис. 3.80. Разработка программ в рабочем поле кода
Программа вычисляет показатели платежей при нажатии
на кнопку “Рассчитать итоги”. Результаты расчетов передаются
в соответствующие поля поля форм и таблиц.
Программа перевода счетчика на очередную запись
Private Sub Кнопка69_Click()
On Error GoTo Err_Кнопка69_Click
DoCmd.GoToRecord , , acNext
Exit_Кнопка69_Click:
Exit Sub
Err_Кнопка69_Click:
MsgBox Err.Description
Resume Exit_Кнопка69_Click
End Sub
Программа перевода счетчика на первую запись
Private Sub Кнопка73_Click()
On Error GoTo Err_Кнопка73_Click
DoCmd.GoToRecord , , acFirst
Exit_Кнопка73_Click:
Exit Sub
Err_Кнопка73_Click:
MsgBox Err.Description
Resume Exit_Кнопка73_Click
End Sub
Программа перевода счетчика на последнюю запись
Private Sub Кнопка71_Click()
On Error GoTo Err_Кнопка71_Click
DoCmd.GoToRecord , , acLast
Exit_Кнопка71_Click:
Exit Sub
Err_Кнопка71_Click:
MsgBox Err.Description
Resume Exit_Кнопка71_Click
End Sub
Программа установки счетчика на запись с выбранным
номером
Private Sub Кнопка82_Click()
Dim i As Integer
i = УЧЕТ.Form_Платежи_ф.Поле80.Value
586
587
Рис. 3.80.
Разработка программ в рабочем поле кода
Программа вычисляет показатели платежей при нажатии
на кнопку “Рассчитать итоги”. Результаты расчетов передаются
в соответствующие поля поля форм и таблиц.
Программа перевода счетчика на очередную запись
Private Sub Кнопка69_Click()
On Error GoTo Err_Кнопка69_Click
DoCmd.GoToRecord , , acNext
Exit_Кнопка69_Click:
Exit Sub
Err_Кнопка69_Click:
MsgBox Err.Description
Resume Exit_Кнопка69_Click
End Sub
Программа перевода счетчика на первую запись
Private Sub Кнопка73_Click()
On Error GoTo Err_Кнопка73_Click
DoCmd.GoToRecord , , acFirst
Exit_Кнопка73_Click:
Exit Sub
Err_Кнопка73_Click:
MsgBox Err.Description
Resume Exit_Кнопка73_Click
End Sub
Программа перевода счетчика на последнюю запись
Private Sub Кнопка71_Click()
On Error GoTo Err_Кнопка71_Click
DoCmd.GoToRecord , , acLast
Exit_Кнопка71_Click:
Exit Sub
Err_Кнопка71_Click:
MsgBox Err.Description
Resume Exit_Кнопка71_Click
End Sub
Программа установки счетчика на запись с выбранным
номером
Private Sub Кнопка82_Click()
Dim i As Integer
i = УЧЕТ.Form_Платежи_ф.Поле80.Value
588
589
УЧЕТ.Form_Платежи_ф.Recordset.FindFirst “Код=” & Str(i)
End Sub
Программа управления датами в форме “Статистика”
Private Sub Дата_начала_обработки_Click()
Calendar2.Visible = True
УЧЕТ.Form_Статистика_ф.Дата_начала_обработки.Text =
Calendar2.Value
End Sub
Private Sub Дата_окончания_обработки_Click()
Calendar2.Visible = True
УЧЕТ.Form_Статистика_ф.Дата_окончания_обработки.
Text = Calendar2.Value
Calendar2.Visible = False
End Sub
Программа для вычисления основных показателей формы
“Статистика”.
Private Sub Кнопка30_Click()
Dim a As Double, b As Double, c As Single, s As Single, t As Double
Dim ИнтП As Double
n = DCount(“Код”, “Платежи_т”)
УЧЕТ.Form_Статистика_ф.Количество_платежей.Value = n
s = DSum(“Сумма_с_учетом_пени”, “Платежи_т”)
УЧЕТ.Form_Статистика_ф.Общая_сумма_платежей.Value = s
Мин = DMin(“Сумма_с_учетом_пени”, “Платежи_т”)
УЧЕТ.Form_Статистика_ф.Минимальное_значение_плате-
жей.Value = Мин
Макс = DMax(“Сумма_с_учетом_пени”, “Платежи_т”)
УЧЕТ.Form_Статистика_ф.Максимальное_значение_плате-
жей.Value = Макс
Сред = s / n
УЧЕТ.Form_Статистика_ф.Среднее_значение_платежей.
Value = Сред t = 5
ИнтП = n / t
УЧЕТ.Form_Статистика_ф.Интенсивность_платежей.Value =
ИнтП End Sub
Программа для вычисления показателей формы “Анализ_т”
Private Sub Кнопка58_Click() ‘Расчет показателей
Dim tha As Double, toa As Double, tek As Double
Dim K As String, n As Integer, m As Integer
n = DCount(“Код”, “Платежи_т”) ‘Определение количества
записей
tha = Form_Анализ_ф.Дата_начала_анализа.Value
toa = Form_Анализ_ф.Дата_окончания__анализа.Value
m = 0: s = 0 For i = 1 To n
УЧЕТ.Form_Платежи_ф.Recordset.FindFirst “Код=” & Str(i)
tek = УЧЕТ.Form_Платежи_ф.Поле40.Value
If tha < tek And tek < toa Then 'Даты включительно
m = m + 1
УЧЕТ.Form_Анализ_ф.Количество__платежей.Value = m
ds = УЧЕТ.Form_Платежи_ф.Сумма_с_учетом_пени.Value
s = s + ds
УЧЕТ.Form_Анализ_ф.Итоговая_смма_платежей.Value = s
End If Next i End Sub
6. Разработка меню программы
Реализация технологий программы осуществляется из
главного меню программы, а также диалогового окна “УЧЕТ:
база данных (Accsses 2002). Однако для повышения удобства
работы с программой разрабатывается дополнительное меню
(рис. 3.81).
Рис. 3.81. Дополнительное меню программы (“Режимы работы”)
588
589
УЧЕТ.Form_Платежи_ф.Recordset.FindFirst “Код=” & Str(i)
End Sub
Программа управления датами в форме “Статистика”
Private Sub Дата_начала_обработки_Click()
Calendar2.Visible = True
УЧЕТ.Form_Статистика_ф.Дата_начала_обработки.Text =
Calendar2.Value
End Sub
Private Sub Дата_окончания_обработки_Click()
Calendar2.Visible = True
УЧЕТ.Form_Статистика_ф.Дата_окончания_обработки.
Text = Calendar2.Value
Calendar2.Visible = False
End Sub
Программа для вычисления основных показателей формы
“Статистика”.
Private Sub Кнопка30_Click()
Dim a As Double, b As Double, c As Single, s As Single, t As Double
Dim ИнтП As Double
n = DCount(“Код”, “Платежи_т”)
УЧЕТ.Form_Статистика_ф.Количество_платежей.Value = n
s = DSum(“Сумма_с_учетом_пени”, “Платежи_т”)
УЧЕТ.Form_Статистика_ф.Общая_сумма_платежей.Value = s
Мин = DMin(“Сумма_с_учетом_пени”, “Платежи_т”)
УЧЕТ.Form_Статистика_ф.Минимальное_значение_плате-
жей.Value = Мин
Макс = DMax(“Сумма_с_учетом_пени”, “Платежи_т”)
УЧЕТ.Form_Статистика_ф.Максимальное_значение_плате-
жей.Value = Макс
Сред = s / n
УЧЕТ.Form_Статистика_ф.Среднее_значение_платежей.
Value = Сред t = 5
ИнтП = n / t
УЧЕТ.Form_Статистика_ф.Интенсивность_платежей.Value =
ИнтП End Sub
Программа для вычисления показателей формы “Анализ_т”
Private Sub Кнопка58_Click() ‘Расчет показателей
Dim tha As Double, toa As Double, tek As Double
Dim K As String, n As Integer, m As Integer
n = DCount(“Код”, “Платежи_т”) ‘Определение количества
записей
tha = Form_Анализ_ф.Дата_начала_анализа.Value
toa = Form_Анализ_ф.Дата_окончания__анализа.Value
m = 0: s = 0 For i = 1 To n
УЧЕТ.Form_Платежи_ф.Recordset.FindFirst “Код=” & Str(i)
tek = УЧЕТ.Form_Платежи_ф.Поле40.Value
If tha < tek And tek < toa Then 'Даты включительно
m = m + 1
УЧЕТ.Form_Анализ_ф.Количество__платежей.Value = m
ds = УЧЕТ.Form_Платежи_ф.Сумма_с_учетом_пени.Value
s = s + ds
УЧЕТ.Form_Анализ_ф.Итоговая_смма_платежей.Value = s
End If Next i End Sub
6. Разработка меню программы
Реализация технологий программы осуществляется из
главного меню программы, а также диалогового окна “УЧЕТ:
база данных (Accsses 2002). Однако для повышения удобства
работы с программой разрабатывается дополнительное меню
(рис. 3.81).
Рис. 3.81. Дополнительное меню программы (“Режимы работы”)