Информационно-аналитическая система "Зарплата"
КУРСОВАЯ РАБОТА
по дисциплине «Информатика»
На тему: «Информационно-аналитическая система Зарплата»
1.Титульный лист
При открытии рабочей книги появляется сообщение Microsoft Excel и автоматически скрывается панель инструментов.
Рисунок 1. Титульный лист
Программный код для этого процесса следующий :
Private Sub Workbook_Open()("Меню").Activate
MsgBox ("Вас приветствует информационно - аналитическая система Зарплата!!!")Sub
При нажатии кнопки «Меню» на титульном листе появляется сообщение о запросе пользователя:
Рисунок 2 Знакомство
При нажатии кнопки «ОК» на запросе о пользователи, переходим на лист «Главное меню», где расположены кнопки перехода на все листы приложения, а так же кнопки «Об авторе» и кнопка « Выход из Excel»:
Рисунок 3. Главное меню
Для кнопок перехода на все листы приложения созданы следующие программные коды:переход1()
'' переход1 Макрос("Табель учёта рабочего времени ").Select(" Вы перешли на лист Табель учёта рабочего времени!")Sub
Кнопки Тарифы, Сводная таблица, Диаграмма, Ведомость, Итоги, Формы, Расширенный фильтр, Функции аналогичны одноименной кнопке, рассмотренной выше.
При нажатии на кнопки «Об авторе» появляется пользовательская форма, где расположена информация о разработчике данной информационно-аналитической системы «Зарплата».
Рисунок 4. Сведения об авторе
К кнопке Об авторе привязан следующий программный код:
Private Sub CommandButton1_Click().Hide
End Sub
К кнопке «Выход из Excel» привязан следующий код:Выход()
' Выход Макрос
Dim txtСообщение As String, txtЗагловок As String
Dim Кнопки As Integer, Результат As Integer
txtСообщение = "Вы действительно хотите выйти из Excel"Заголовок = "До свидания!"
Кнопки = vbYesNo + vbQuestion + vbfaultButton2
Результат = MsgBox(txtСообщение, Кнопки, txtЗаголовок)
If Результат = vbYes Then.Quit
Else"Выход не состоится", vbOKOnly, "Снова привет!"If
End Sub
2.Лист «Табель учёта рабочего времени»
Рисунок 5. Табель учёта рабочего времени.
зарплата информационный аналитический рабочий
На листе расположена информация о рабочих завода. Указаны их Ф.И.О., наименование цеха, специальность, количество отработанных дней, зарплата, удержания и сумма к выдаче.
На листе «Табель учета рабочего времени» расположены кнопки «Среднемесячный заработок» и « Отмена».
Макросы для кнопок:Среднемячный_заработок()
' Среднемячный_заработок Макрос("I10").Select
ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-3]:R[39]C[-3])".ScrollRow = 9.ScrollRow = 6.ScrollRow = 5.ScrollRow = 4.ScrollRow = 3.ScrollRow = 2.ScrollRow = 1SubОтмена_среднемесячного()
' Отмена_среднемесячного Макрос
Range("I10").Select
Selection.ClearContents
End Sub
Так же на листе «Табель учёта рабочего времени» расположена одна кнопка «Действия над данными», при нажатии которой выходит окно :
Рисунок 6. Действия над данными
При нажатии кнопки «Добавление данных»:
Рисунок 7. Добавление данных в табель учёта рабочего времени.
Программный код для кнопки «Добавить»:Sub CommandButton1_Click()текущая As Objectследующая As ObjectTextBox1 = "" Or Text2 = " " Or TextBox3 = "" Or TextBox4 = "" Then("Введены не все данные")SubIf.Sheets("Табель учёта рабочего времени").Selectтекущая = ActiveSheet.Range("A50")While Not IsEmpty(текущая)следующая = текущая.Offset(1, 0)текущая = следующая
текущая.Value = TextBox5.Text
текущая.Offset(0, 1).Value = TextBox1.Text
текущая.Offset(0, 2).Value = TextBox2.Text
текущая.Offset(0, 3).Value = TextBox3.Text.Text = "".Text = "".Text = "".Text = ""Sub
Для кнопки «Отмена»
Private Sub CommandButton2_Click().Hide
End Sub
Кнопка «Удаление данных»:
Рисунок 8. Удаление данных.
К кнопке «Удалить» привязан следующий код :
Private Sub ComboBox1_Change().Sheets("Табель учёта рабочего времени").Select
Dim i As Integerj As Integera As Integerстрока As Integer
строка = Application.CountA(Sheets("Табель учёта рабочего времени").Columns(1))= 9While i <= строка= i + 1Cells(i, 1) = " " Then= iDoIfb = 10 To iComboBox1.Text = Cells(b, 2).Value Then.Value = Cells(b, 3).Value = Cells(b, 4).Value = Cells(b, 5)IfbSubSub CommandButton1_Click().HideComboBox1.Text = Empty Then
MsgBox "Вы должны выбрать фамилию рабочего".Show= MsgBox("Сейчас произойдет удаление", vbOKCancel)
End Iff = vbOK Then
Sheets("Табель учёта рабочего времени").Select
Dim i As Integerj As Integerстрока As Integer
строка = Application.CountA(Sheets("Табель учёта рабочего времени").Columns(1))= 11While i <= строка= i + 1Cells(i, 1) = " " Then= iDoIfb = 11 To iComboBox1.Text = Cells(b, 9) Then(b, 9).Select.EntireRow.DeleteIfbIfSubSub CommandButton2_Click().HideSubSub TextBox1_Change()IsNumeric(TextBox1.Text) And Len(TextBox1) <> 0 Then
MsgBox " Надо вводить только текстовые данные!", vbOKOnly + vbInformation
TextBox1.Value = "".SetFocusIfSubSub TextBox2_Change()IsNumeric(TextBox2.Text) And Len(TextBox2) <> 0 Then
MsgBox " Надо вводить только текстовые данные!", vbOKOnly + vbInformation
TextBox2.Value = "".SetFocusIfSubSub TextBox3_Change()TextBox3.Value < 0 Then"Числа не должны быть отрицательные!", vbOKOnly + vbInformation.SetFocusIfNot IsNumeric(TextBox3.Text) And Len(TextBox3) <> 0 Then
MsgBox "Вводить надо числовые данные!", vbOKOnly + vbInformation
TextBox3.Value = "".SetFocusIfSubSub UserForm_Activate().Text = " ".Text = " ".Text = "".Text = " "SubSub ComboBox1_Enter().Clear("Табель учёта рабочего времени").Selecti As Integer, j As Integer, строка As Integer
строка = Application.CountA(Sheets("Табель учёта рабочего времени").Columns(2))= 11While i <= строка= i + 1Cells(i, 2) = " " Then= iDoIfa = 11 To i.AddItem Cells(a, 2)a
End Sub
Код для кнопки «Отменить»
Private Sub CommandButton2_Click().Hide
End Sub
Кнопка «Поиск и изменение данных»:
Рисунок 9. Поиск и изменение данных
Программный код:
Private Sub ComboBox1_Change().Clear.Text = "".Text = ""
For sss = 10 To 5000ComboBox1.Text = Sheets("Табель учёта рабочего времени").Cells(sss, 3).Text Then.AddItem Sheets("Табель учёта рабочего времени").Cells(sss, 2).TextIfSubSub CommandButton1_Click()sss = 10 To 8000ComboBox1.Text = Sheets("Табель учёта рабочего времени").Cells(sss, 3).Text And ListBox1.Text = Sheets("Табель учёта рабочего времени").Cells(sss, 2).Text Then("Табель учёта рабочего времени").Cells(sss, 5) = TextBox2.TextIf.Clear.Text = "".Text = ""SubSub CommandButton2_Click().HideSubSub ListBox1_Click()sss = 10 To 8000ComboBox1.Text = Sheets("Табель учёта рабочего времени").Cells(sss, 3).Text And ListBox1.Text = Sheets("Табель учёта рабочего времени").Cells(sss, 2).Text Then.Text = Sheets("Табель учёта рабочего времени").Cells(sss, 3).Text.Text = Sheets("Табель учёта рабочего времени").Cells(sss, 4).TextIfSubSub TextBox1_Change()SubSub TextBox2_Change()SubSub UserForm_Activate()
Sheets("Табель учёта рабочего времени").Select
Range("A10:H8000").Select.Sort Key1:=Range("C9"), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
For ads = 11 To 8000Sheets("Табель учёта рабочего времени").Cells(ads, 3).Text = "" Then Exit SubSheets("Табель учёта рабочего времени").Cells(ads, 4).Text = Sheets("Табель учёта рабочего времени").Cells(ads + 1, 2).Text Then GoTo 3.AddItem Sheets("Табель учёта рабочего времени").Cells(ads, 3).Text
3 NextSub
При нажатии кнопки «Меню главное» происходит переход на лист, где содержится главное меню.
К кнопке « Закрыть» привязан следующий код:
Private Sub CommandButton4_Click().Hide
End Sub
3. Лист «Сортировка»
Рисунок 10. Сортировка данных.
На этом листе осуществляется сортировка по возрастанию: по № п/п, по ФИО, по цеху, и по специальности, аналогично и по убыванию.
На листе расположены две кнопки: Меню и Сортировка. При нажатии кнопки Сортировка выходит окно:
Рисунок 11. Сортировка данных
Программный код:
Private Sub CommandButton1_Click()OptionButton1 = True Then("A8:G1000").Select.Sort Key1:=Range("A9"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottomOptionButton2 = True Then("A8:G1000").Select.Sort Key1:=Range("A9"), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottomIfSubSub CommandButton2_Click()OptionButton1 = True Then("A8:G1000").Select.Sort Key1:=Range("B8"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottomOptionButton2 = True Then("A8:G1000").Select.Sort Key1:=Range("B8"), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottomIfSubSub CommandButton3_Click()OptionButton1 = True Then("A8:G1000").Select.Sort Key1:=Range("C8"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottomOptionButton2 = True Then("A8:G1000").Select.Sort Key1:=Range("C8"), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottomIfSubSub CommandButton4_Click()OptionButton1 = True Then("A8:G1000").Select.Sort Key1:=Range("D8"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottomOptionButton2 = True Then("A8:G1000").Select.Sort Key1:=Range("D8"), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottomIfSubSub CommandButton5_Click()
UserForm2.HideSub
Также на листе «Сортировка» расположена кнопка «Меню» - это переход на главное меню, к которой привязан следующий программный код:
Sub Переходнатитульныйссортировки()
' Переходнатитульныйссортировки Макрос("Титульный лист").SelectSub
4. Лист «Тарифы»
Рисунок 12. Сводная таблица
На листе расположена таблица, состоящая из двух столбцов: «специальность» и «цена рабочего времени», а также на листе есть кнопки «добавление», «удаление», «табель учёта» и «кнопка меню», для перехода на лист «Главное меню »
При нажатии на кнопку Добавить открывается форма «Добавление».
Рисунок 13. Добавление специальности
Форма состоит из двух элементов Label1 и Label2,из двух текстовых полей TextBox1, TextBox2 и двух кнопок CommandButton1 со свойством Caption, которому присвоено значение «Добавить», и CommandButton2 со свойством Caption, которому присвоено значение «Закрыть».
Программный код для кнопки «Добавить»:
Private Sub CommandButton1_Click()текущая As Objectследующая As ObjectTextBox1 = "" Or Text2 = " " Then ("Введены не все данные")
Exit SubIf.Sheets("Тарифы").Selectтекущая = ActiveSheet.Range("A12")While Not IsEmpty(текущая)
Set следующая = текущая.Offset(0, 1)текущая = следующая
Loop
текущая.Value = TextBox1.Text
текущая.Offset(0, 1).Value = TextBox2.Text.Text = "".Text = ""Sub
Для кнопки ЗакрытьSub CommandButton2_Click().HideSub
Форма «Удаление»
Рисунок 14. Удаление специальности
Форма состоит из одного элемента ComboBox и двух кнопок CommandButton
Программный код для кнопки CommandButton1 (Удаление):
Dim h As ByteY As Byte
h = MsgBox("Вы действительно хотите удалить эту специальность?", vbYesNo + vbQuestion, "Удаление")
If h = vbYes Then Else GoTo e
name = ComboBox1ComboBox1 = "" Then= MsgBox("Удаление невозможно, так как не выделен объект", vbYes + vbQuestion, "Удаление")
If Y = vbYes Then GoTo 12 Else GoTo eIf.Sheets("Тарифы").Activatepr = ActiveSheet.Range("C11")While Not IsEmpty(pr)X = pr.Offset(1, 0)pr = name Then.Select.EntireRow.DeleteIfpr = X.Sheets("Тарифы").Activatepr = ActiveSheet.Range("A6")While Not IsEmpty(pr)X = pr.Offset(1, 0)pr = name Then.Select.EntireRow.DeleteIfpr = X
ComboBox1 = ""= "".Hide: End Sub
Программный код для кнопки CommandButton2 ( Отмена):
Private Sub CommandButton2_Click().Hide
End Sub
При нажатии кнопки « Табель учёта» и «Меню» происходит переход на эти листы.
5. Лист «Сводная таблица и Диаграмма»
Рисунок 15. Сводная таблица
На листе «Сводная таблица» расположена сводная таблица, которая построена на основе главной таблицы листа «Табель учета рабочего времени».
Сводная таблица - это вспомогательная таблица с помощью которой можно анализировать и объединять большие объёмы данных, быстро проводить общие и промежуточные итоги, обобщать только необходимы е данные и изменять их форму представления.
На листе также присутствуют кнопки Диаграмма и Меню для перехода на лист «Меню» и «Диаграмма» для перехода на лист «Диаграмма1».
Рисунок 16. Диаграмма.
На листе расположена диаграмма, в яркой форме отображающая информацию о рабочих завода и зарплате.
6. Расширенный фильтр
Рисунок 17. Расширенный фильтр
Программный код для кнопки Фильтрация:Расширенный()
' Расширенный Макрос
' Макрос записан 20.04.2013("B2").Select.FormulaR1C1 = InputBox("Введите название специальности")
Range("D11").Select("D11").Select("A11:H51").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _("B1:B2"), Unique:=FalseSub
Программный код для кнопки Отмена фильтрации:ОменаФильтрации()
' ОменаФильтрации Макрос.ShowAllDataSub
7. Лист Итоги
Рисунок 18. Итоги по цеху
Программный код для кнопок Итоги и Отмена Итогов :
Sub Итоги()
' Итоги Макрос("C1").Select.Subtotal GroupBy:=3, Function:=xlSum, TotalList:=Array(8), _:=True, PageBreaks:=False, SummaryBelowData:=True
End SubОтменаИтоговв()
' ОтменаИтоговв Макрос
Range("C1").Select.RemoveSubtotalSub
8. Лист Ведомость
При нажатии на кнопку ведомость, расположенную на пользовательской форме на листе «МЕНЮ», появляется форма ведомость
Рисунок 19. Выбор специальности для создания ведомости.
На форме расположены два элемента: ComboBox1 и CommandButton1. Элемент ComboBox1 позволяет выбрать из списка название специальности рабочего, а при нажатии на кнопку CommandButton1 создается ведомость на отдельном листе.
Рисунок 20. Ведомость.
Программный код:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = Falseh As Byte
If ComboBox1 = "" Then= MsgBox("Для вывода ведомости необходимо выделить из списка специальность", vbYes + vbQuestion, "Ведомость")
End Ifigr(2000, 7) As String_sel = Trim(ComboBox1.Text)= 1= 10("Просто").ActivateWhile Not IsEmpty(Cells(j, 3).Value)cur_sel = Trim(Cells(j, 3).Value) Then(i, 1) = Cells(j, 1).Value(i, 2) = Cells(j, 2).Value(i, 3) = Cells(j, 4).Value(i, 4) = Cells(j, 5).Value(i, 5) = Cells(j, 6).Value(i, 6) = Cells(j, 7).Value= i + 1If= j + 1("Выручка").Activate(1, 4).Value = cur_sel("A3:I2000").Value = " "j = 1 To i(j + 2, 1).Value = igr(j, 1)(j + 2, 2).Value = igr(j, 2)(j + 2, 3).Value = igr(j, 3)(j + 2, 4).Value = igr(j, 4)(j + 2, 5).Value = igr(j, 5)(j + 2, 6).Value = igr(j, 6)j("Выручка").Range("g3").Activate.FormulaR1C1 = "=SUM(RC[-1],R[1]C[-1]:R[196]C[-1])"
ComboBox1 = ""("Выручка").Range("h3").Activate("H3").Select.FormulaR1C1 = "=AVERAGE(RC[-4]:R[196]C[-4])"("Выручка").Range("i3").Activate("I3").Select.FormulaR1C1 = "=AVERAGE(RC[-3]:R[1967]C[-3])".HideSubSub UserForm_Activate()pr As Object, X As Object.ComboBox1.Clear.Sheets("Просто").Selectpr = ActiveSheet.Range("c10")While Not IsEmpty(pr)X = pr.Offset(1, 0).AddItem prpr = XSub
10. Лист Функции
Рисунок 21. Функции.
На этом листе расположены кнопки с функциями:
·БДСУММ - вычисляет сумму числовых ячеек
·ДСРЗНАЧ - считает среднее значение
·ДМИН - ищет минимальное значение
·ДМАКС - ищет максимальное значение
·БЧЁТ - подсчитывает количество ячеек содержащих числа
При нажатии кнопки БДСУММ появляется окно:
После ввода специальности и нажатия кнопки «ОК» функция посчитает какое количество дней отработали люди с той или иной специальностью.
Программный код для кнопки:Бдсумм()
' Бдсумм Макрос("A2").Select
ActiveCell.FormulaR1C1 = InputBox("Введите наименование специальности")
Range("A7").Select.FormulaR1C1 = "=DSUM(R[4]C:R[44]C[7],R[4]C[4],R[-6]C:R[-5]C)"
End Sub
При нажатии кнопки ДСРЗНАЧ появится окно:
Эта функция посчитает среднее значение *суммы к выдачи* определённого работника.
Программный код для кнопки :ДСРЗНАЧ()
' ДСРЗНАЧ Макрос("C2").Select.FormulaR1C1 = InputBox("Введите ФИО сотрудника")("C7").Select.FormulaR1C1 = _
"=DAVERAGE(R[4]C[-2]:R[44]C[5],R[4]C[5],R[-6]C:R[-5]C)"
End Sub
При нажатии кнопки ДМАКС:
Эта функция посчитает максимальную зарплату по указанному количеству дней.
Программный код для кнопки :ДМАСК()
' ДМАСК Макрос("E2").Select
ActiveCell.FormulaR1C1 = InputBox("Введите количество отработанных дней")
Range("E7").Select.FormulaR1C1 = "=DMAX(R[4]C[-4]:R[44]C[3],R[4]C[1],R[-6]C:R[-5]C)"
End Sub
При нажатии кнопки ДМИН:
Эта функция посчитает минимальную зарплату по указанному цеху.
Программный код для кнопки:
Sub ДМИН()
' ДМИН Макрос("G2").Select.FormulaR1C1 = InputBox("Введите наименование цеха")("G7").Select.FormulaR1C1 = "=DMIN(R[4]C[-6]:R[44]C[1],R[4]C[-1],R[-6]C:R[-5]C)"
End Sub
При нажатии кнопки БСЧЁТ:
Функция подсчитывает сколько людей отработало за указанное количество дней
Программный код:БСЧЁТ()
'' БСЧЁТ Макрос("I2").Select.FormulaR1C1 = InputBox("Введите количество отработанных дней")
Range("I7").Select.FormulaR1C1 = _
"=DCOUNT(R[4]C[-8]:R[44]C[-1],R[4]C[-4],R[-6]C:R[-5]C)"
End Sub
11. Реализация информационно-аналитической системы «Зарплата» с помощью MS ACCESS
MS ACCESS - СУБД реляционными базами данных. То есть информация в таких базах данных храниться в таблицах, связанных между собой.
Основными объектами Базы Данных являются: таблицы, формы, запросы, отчеты, макросы и модули.
Создание БД всегда начинается с создания структуры таблиц: в режиме конструктора определяются поля таблиц, типы данных которые можно вводить в поля и свойства поля при необходимости.
Сначала будем создавать структуру таблицы «Тарифы».
Рисунок 22 Тарифы в режиме "конструктор"
Специальность делаем ключевым полем. Имя таблицы называется «Тарифы».
Создаем таблицу «Табель учета».
Рисунок 23. Табель учёта
Спец - искусственно созданное поле, которое будет ключевым.
Заполняем таблицу «Тарифы» данными.
Создадим схему данных. Схема данных выглядит следующим образом:
·Создание для таблицы «Тарифы» форму для ввода данных.
·Создание форму для ввода данных в таблицу «Табель учета».
·Создадим запрос на обновление данных.
Рисунок 24. Запрос на обновление.
Двойным щелчком из таблицы «Табель Учета» выбираем поля и после чего нажимаем кнопку «Обновление».
«Обновление»- Создание запроса, который обновляет данные в существующей таблице.
Заполняем строки обновления, через кнопку «Построитель».
Нарисуем в области данных элемент управления «Кнопка». Перейдем в режим формы и внесем несколько записей в таблицу «Табель учета», каждый раз нажимая кнопку «Регистрация» и при этом мы должны убедиться, что введенные данные попадают в таблицу.
Создадим запрос на выборку данных из таблицы «Табель учета».
Например, «Отбор данных по ФИО».Для этого через Конструктор запросов выбираем две таблицы и из таблицы «Табель учета» выберем все столбцы, кроме столбца «Спец».
Рисунок 25. Создание связи.
На основе запроса на выборку создадим отчет ФИО.
Рисунок 26. Отчёт ФИО
Аналогично можно создать отчет на основе таблицы, и выбрать уровни группировки.
Заключение
Курсовая работа представляет собой информационно-аналитическую систему «Зарплата». В соответствии с этим пользователю предоставлены возможности для ввода информации, ее корректировки и обработки. Для вывода полученных данных были предусмотрены формы, соответствующие требованиям запроса.
Обработка информации включает в себя возможность сортировки данных по различным полям, фильтрации по задаваемым критериям. Для получения сводной информации использованы возможности консолидации данных и создание сводных таблиц и диаграмм.
При создании экранных форм использованы средства, предоставляемые Ехсеl для удобной работы с формой (элементы управления на рабочем листе для заполнения формы, возможности быстрого перехода между полями и т.п.).
Для автоматизации некоторых действий использованы макросы или пользовательские процедуры и функции.
Список использованных источников
1.Агальцов В. П., Титов В. М. Информатика для экономистов:Учебник. - М.: ИД «ФОРУМ»: ИНФРА-М,2010. - 448С.:ил. - (Высшее образование)
.Информатика: «Microsoft Excel и Visual Basic for Application». Учебное пособие к выполнению курсовой работы для студентов специальности 080801,080116. /Составители : Каляшина А. В., Бусова А. М. - Набережные Челны : Издательство ИНЭКА, 2008. 73с.
3.Microsoft Visual Basic 6.0 для профессионалов. Шаг за шагом: Практ. Пособ./ Пер. с англ.-М.: Издательство ЭКОМ, 2011.-720 с.: илл.
.Ананьев А.И., Федоров А.Ф Самоучитель Visual Basic 6.0-СПб.БХВ-Петербург 2008г,624с.
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Курсовая работа (т)
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2017 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ