Файл: Вдовин Суркова Валентинов Теория систем и системный анализ.pdf

Добавлен: 12.02.2019

Просмотров: 22629

Скачиваний: 340

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

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


background image

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


background image

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


background image

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. Дополнительное меню программы (“Режимы работы”)


background image

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. Дополнительное меню программы (“Режимы работы”)