
- •Федеральное агентство по образованию
- •Государственный Университет Управления Институт заочного обучения
- •По дисциплине
- •Средствами языка
- •1. Задание на курсовой проект
- •3. Создать документ:
- •2. Макеты исходных данных
- •3. Создание базы данных
- •4. Создание Пользовательского Меню. Интерфейс.
- •Головное меню
- •С Пользовательским Меню для работы с двумя таблицами
- •5. Чтение созданной Базы Данных
- •5.1. Чтение таблицы isp (Исполнители)
- •5.1.1. Алгоритм чтения таблицы isp
- •Сетки FlMn
- •5.1.2. Программа чтения таблицы isp
- •5.1.3. Экранная форма с результатами – Записями таблицы isp
- •5.2. Чтение таблицы det (Детали)
- •5.2.1. Алгоритм чтения таблицы det
- •Сетки FlMn
- •Сетки FlMn
- •5.2.2. Программа чтения таблицы det
- •5.2.3. Экранная форма с результатами – Записями таблицы det
- •6. Обработка созданной Базы Данных
- •6.1. Создание Справки №1 по таблице isp
- •6.1.1. Алгоритм создания Справки №1 по таблице isp
- •Сетки FlMn
- •Цикл формирования Справки № 1 в соответствии с условием задания
- •Цикл заполнения сетки FlMn записями в соответствии с условием Справки № 1
- •6.1.2. Программа создания Справки №1 по таблице isp
- •'С условием задания
- •6.1.3. Экранная форма с результатами Справки №1 по таблице isp
- •6.2. Создание Справки №2 по таблице det
- •6.2.1. Алгоритм создания Справки №2 по таблице det
- •Сетки Fl1 сетки FlMn
- •В соответствии с условием задания
- •Цикл заполнения сетки FlMn записями в в соответствии с условием Справки № 2
- •6.2.2. Программа создания Справки №2 по таблице det
- •6.2.3. Экранная форма с результатами Справки №2 по таблице det
- •6.3. Создание Справки 3 по таблицам isp и det
- •6.3.1. Алгоритм создания Справки 3 по таблицам isp и det
- •Цикл формирования Справки №3 в соотвествии с условием задания
- •Цикл проверки шифров в соответствии с заданием
- •Цикл вычислений квартальных выработок и
- •6.3.2. Программа создания Справки №3 по таблицам isp и det
- •'С условием задания
- •6.3.3. Экранная форма с результатами Справки №3 по таблицам isp и det
- •Создание Документа
- •6.4.1. Алгоритм создания Документа
- •Цикл вычислений заработков рабочих в последние 4 месяца и отображение в Итоговом Документе
- •6.4.2. Программа создания Документа
- •6.4.3. Экранная форма с результатами Документа
- •Заключение
- •Список использованной литературы
6.4.2. Программа создания Документа
Private Sub mnuDoc_Click()
Dim I As Integer, J As Integer, U As Integer 'индексы
Dim T As Integer, L As Integer 'индексы
Dim Kzapi As Integer 'количество записей в таблице ISP
Dim Kzapd As Integer 'количество записей в таблице DET
Dim Nstr As Integer 'номера строк "ДОКУМЕНТ"
Dim B As Variant 'вспомогательная переменная для временного хранения записи
LbND.Caption.Caption = " Д О К У М Е Н Т " 'настройки интерфейса
LbSInf.Caption = "Сведения о заработной плате за последние 4 месяца,
УПОРЯДОЧЕННЫЕ по алфавиту фамилий ИСПОЛНИТЕЛЕЙ"
FlMN.ColWidth(0) = 550
FlMN.ColWidth(1) = 1250
Kzapi = DATA1.Recordset.RecordCount 'определение количества записей
таблицы ISP
Kzapd = DATA2.Recordset.RecordCount 'определение количества записей
таблицы DET
FlMN.Rows = 1 'начальное количество строк "ДОКУМЕНТ"
FlMN.Cols = 6 'количество колонок "ДОКУМЕНТ"
FlMN.TextMatrix(0, 0) = "№ п.п." 'наименование 0 - колонки сетки FlMN
FlMN.TextMatrix(0, 1) = DATA1.Recordset.Fields(0).Name
FlMN.TextMatrix(0, 2) = “ЗрпМес3”
FlMN.TextMatrix(0, 3) = “ЗрпМес4”
FlMN.TextMatrix(0, 4) = “ЗрпМес5”
FlMN.TextMatrix(0, 5) = “ЗрпМес6”
DATA1.Recordset.MoveFirst 'переход к первой записи таблицы ISP
Nstr = 0
For I = 1 To Kzapi 'Цикл формирования Итогового Документа
DATA2.Recordset.MoveFirst 'переход к первой записи таблицы DET
For U = 1 To Kzapd 'Цикл создания Документа в соответствии с условием
' ЗАДАНИЯ
'Условие соответствий ЗАПИСЕЙ таблиц ISP и DET
'по шифрам ДЕТАЛЕЙ
If DATA1.Recordset.Fields(1).Value = _
DATA2.Recordset.Fields(0).Value Then
FlMN.Rows = FlMN.Rows + 1 'добавление строки
'в сетку FlMN
Nstr = Nstr + 1 'Формирование номера
'следующей строки сетки FlMN
FlMN.TextMatrix(Nstr, 0) = Nstr
For J = 1 To 5
If J < 2 Then
FlMN.TextMatrix(Nstr, 1) = _
DATA1.Recordset.Fields(0).Value
Else
FlMN.TextMatrix(Nstr, J ) = (DATA1.Recordset.Fields(J + 2).Value * _
DATA2.Recordset.Fields(2).Value)*0.86
End If
Next J
End If
DATA2.Recordset.MoveNext 'переход к следующей записи таблицы DET
Next U
DATA1.Recordset.MoveNext 'переход к следующей записи таблицы ISP
Next I
‘Имеются ли записи в созданном Документе ?
If Nstr > 1 Then
For I = 1 To Nstr – 1 'Упорядочение Записей ДОКУМЕНТА по алфавиту _
фамилий
T = I ' Начальная "лучшая" запись ДОКУМЕНТА по упорядочиваемому полю
‘(T – номер текущей “лучшей” записи)
For L = I + 1 To Nstr 'Цикл поиска "лучшей" записи в ДОКУМЕНТЕ
If Asc(FlMN.TextMatrix(T, 1)) > _
Asc(FlMN.TextMatrix(L, 1)) Then T = L 'фиксирование номера
'"лучшей" записи ДОКУМЕНТА
Next L
If L <> T Then
For J = 1 To 5 'Цикл перестановок записей в Документе
‘по алфавиту фамилий
'Перестановка значений J-ых полей ЗАПИСЕЙ I – ой и T – ой строк
‘ Документа
B = FlMN.TextMatrix(I, J)
FlMN.TextMatrix(I, J) = FlMN.TextMatrix(T, J)
FlMN.TextMatrix(T, J) = B
Next J
End If
Next I
End If
If Nstr = 0 Then Fl1.TextMatrix(Nstr, 0) = "В Документе записей НЕТ "
End Sub