Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR10-ITN-22-fevralya-2011-Got.doc
Скачиваний:
4
Добавлен:
21.11.2019
Размер:
2.16 Mб
Скачать

3.2.6. Доработка формы Статистик_Форма

1. Ранее при выполнении п. 3.2.4. с помощью Мастера Создание форм была создана форма Статистик_Форма на основе таблицы данных Статистик (рис. 10.24).

2. Доработка формы Статистик_Форма будет включать в себя добавление нового поля СредняяЗадолжн, создание расчетной кнопки Статистика и написание программы для расчетов, производимых с помощью данной формы (рис. 10.53).

Рис. 10.53. Доработанная форма Статистик_Форма в режиме конструктора

3. Добавляем новое поле СредняяЗадолжн в таблицу Статистик. В последствии при проведении расчетов результаты, полученные в поле СредняяЗадолжн формы Статистик_Форма, будут автоматически помещаться в одноименное поле таблицы Статистик.:

– открываем таблицу Статистик в режиме Конструктора (рис. 10.54);

– создаем новое поле СредняяЗадолжн;

–для поля СредняяЗадолжн назначаем Тип данных : Денежный;

– с помощью мыши располагаем поле СредняяЗадолжн между полями СуммаЗадолжн и МинНалогПлатеж;

– сохраняем изменения в таблице Статистик.

Рис. 10.54. Таблица Статистик в режиме Конструктора

4. Добавьте новое поле СредняяЗадолжн в форму Статистик_Форма:

– откройте форму Статистик_Форма в режиме Конструктора;

– сдвиньте вниз существующие поля МинНалогПлатеж, ОрганизцМин, МаксНалогПлатеж, ОрганизацМакс.

– создайте новое поле СредняяЗадолжн между полями СуммаЗадолжн и МинНалогПлатеж (рис. 10.53). Напомним, что вопросы создания нового поля формы рассмотрены ранее в п. 4 раздела 3.2.5;

5. Добавление командной кнопки Статистика

– с помощью кнопки Статистика будут рассчитаны показатели, приведенные в пункте 3.2.4;

– перейдите в режим конструктора формы;

– на Панели элементов (рис. 10.26) с помощью мыши выберите инструмент Кнопка;

­– в контекстном меню выберите команду Свойства и в появившемся окне Кнопка (рис. 10.39) в разделе Подпись введите Статистика, а также задайте размеры и положение кнопки в форме;

– поскольку кнопка индивидуальная, да к тому же с помощью ее необходимо производить вычисления в форме Статистик_Форма, то для обеспечения ее работоспособности необходимо сформировать программу, реализующую действие кнопки. Методика разработки расчетных программ подробно изложена в п.6.

6. Создание расчетных формул (программы) для формы Статистик_Форма

– переведите форму Статистик_Форма в режим Конструктора;

– щелчком правой кнопки мыши в поле формы вызовите контекстное меню (рис. 10.43), в поле которого выберите команду "Обработка событий";

– в появившемся диалоговом окне "Построитель" (рис. 10.44) выберите "Программы", и нажмите кнопку "ОК";

– активизируется окно редактора Visual Basic (рис. 10.55);

– в окно редактора Visual Basic (рис. 10.55) необходимо ввести текст программы для расчета показателей платежей, приведенный на рис. 10.56;

Рис. 10.55. Окно редактора Visual Basic

Рис. 10.56. Программа для расчета статистических показателей

– для ускорения выполнения работы текст программы расчета показателей приведен в табл. 10.8. Рекомендуется скопировать с помощью Буфера обмена текст программы из табл. 10.8 окно редактора Visual Basic (рис. 10.55);

Таблица 10.8

Текст программы для расчета показателей формы Статистика

Private Sub Кнопка34_click()

Dim нпер As Integer, dупл As Integer, n As Integer, m As Integer, i As Integer

Dim dsи As Double, sz As Double, sy As Double, sи As Double, k As Integer

Dim dsz As Double

Dim плат As Double, мах As Double, мин As Double, minOpr As String, махОрг As String

Налог.Form_Платеж_Форма.Recordset.FindFirst "НомерПлатежа=" & Str(1)

нпер = Налог.Form_Статистик_Форма.НалоговыйПериод.Value 'Выбран налоговый период

n = DCount("НомерПлатежа", "Платеж") 'Определение количества записей

m = 0: sи = 0: sу = 0: sz = 0: мин = 500000000: мах = 0

For i = 1 To n

Налог.Form_Платеж_Форма.Recordset.FindFirst "НомерПлатежа=" & Str(i)

dупл = Налог.Form_Платеж_Форма.НалоговыйПериод.Value 'Текущий налоговый период

If нпер = dупл Then 'Проверка на совпадение налоговых периодов выбранного с текущим

m = m + 1 'Количество платежей в выбранной налоговом периоде

sи = sи + Налог.Form_Платеж_Форма.СуммаИсчисленная.Value 'Сумма налога исчисленная за налог пер

sу = sу + Налог.Form_Платеж_Форма.СуммаУплаченная.Value 'Сумма налога уплаченная за налог пер

sz = sz + Налог.Form_Платеж_Форма.Задолжность.Value 'Сумма задолжности за налог пер

If мин > Form_Платеж_Форма.СуммаУплаченная.Value Then 'Определение минимального плате-жа в налог пер

мин = Form_Платеж_Форма.СуммаУплаченная.Value

minOpг = Form_Платеж_Форма.Организация.Value ' и соответствующей организации

End If

If мах < Form_Платеж_Форма.СуммаУплаченная.Value Then 'Определение максимального плате-жа в налог пер

мах = Form_Платеж_Форма.СуммаУплаченная.Value

махОрг = Form_Платеж_Форма.Организация.Value 'и соответствующей организации

End If

End If

Next i

Налог.Form_Статистик_Форма.КолНалогПоступл.Value = m 'Отображение расчетов в окнах фор-мы Статистик

Налог.Form_Статистик_Форма.СуммаНалИсчислен.Value = sи

Налог.Form_Статистик_Форма.СуммаНалУплачен.Value = sу

Налог.Form_Статистик_Форма.СуммаЗадолжн.Value = sz

If m = 0 Then dsz = 0 Else dsz = sz / m 'Во избежании деления на ноль

If m = 0 Then 'при кулевом значении отобранных записей за налог пер

МинНалогПлатеж = 0

МаксНалогПлатеж = 0

СредняяЗадолжн = 0

Else

МинНалогПлатеж = мин: ОрганизацМин = minOpг

МаксНалогПлатеж = мах: ОрганизацМакс = махОрг

СредняяЗадолжн = dsz

End If

End Sub

– текст программы в окне редактора Visual Basic необходимо скорректировать: номер кнопки 34 в Вашем случае будет другим. Он соответствует командной кнопке Статистика, созданной в п. 5. Для уточнения номера надписи смотрите замечание к п. 6.6;

– перейдите в режим таблицы формы и, нажав на кнопку Статистика, убедитесь в ее работоспособности. В соответствующих полях формы Статистик_Форма должны появится расчетные данные (рис. 10.57).

Рис. 10.57. Окно формы Статистик_Форма в режиме таблицы с расчетными данными

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]