Разработка интерфейса формирования и обработки базы данных в Excel с использованием VBA
Проектирование базы данных для приема персонала на работу, с помощью программирования в Microsoft Office. Построение диалога формирования базы данных, таблицы данных. Написание листинга диалога запросов на обработку данных (арифметические операции).
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 06.06.2011 |
Размер файла | 398,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Санкт-Петербургский государственный политехнический университет
Факультет экономики и менеджмента
Кафедра «Информационные системы в экономике и менеджменте»
Курсовая работа
Дисциплина «Информатика»
Тема: Разработка интерфейса формирования и обработки базы данных в Excel с использованием VBA
Выполнила: Ярославцева М.Д.
Преподаватель: Родионов В.Ю.
2011 г.
Содержание
Введение
Постановка задачи
Раздел 1. Построение диалога формирования базы данных
Раздел 2. Построение диалога формирования таблицы данных
Раздел 3. Построение диалога запросов на обработку данных
Заключение
Приложение
Введение
Зачем программировать в Microsoft Office?
Ответ на этот вопрос прост: чтобы не делать лишней работы. Программирование в Office - это, прежде всего, уменьшение количества повторяющихся действий (и ручной работы, которая для этого требуется). Вот примеры некоторых типичных ситуаций, когда использование программирования просто напрашивается:
· Вам с определенной периодичностью приходится изготавливать документы, очень похожие друг на друга: приказы, распоряжения в бухгалтерию, договоры, отчеты и т.п. Часто информацию можно взять из базы данных, тогда использование программирования может дать очень большой выигрыш во времени. Иногда данные приходится вводить вручную, но и тогда автоматизация дает выигрыш во времени и в снижении количества ошибок;
· Разновидность такой же ситуации: одни и те же данные нужно использовать несколько раз. Например, вы заключаете договор с заказчиком. Одни и те же данные (наименование, адрес, расчетный счет, номер договора, дата заключения, сумма и т.п.) могут потребоваться во многих документах: самом договоре, счете, счете-фактуре, акте сдачи выполненных работ и т.д. Логично один раз ввести эту информацию (скорее всего, в базу данных), а затем автоматически форматировать (например, в Word) требуемые документы;
· Когда нужно сделать так, чтобы вводимые пользователем данные автоматически проверялись. Вероятность ошибки при ручном вводе данных зависит от многих факторов, но, согласно результатам некоторых исследований, она в среднем составляет около 2%. «Вылавливать» потом такие ошибки в уже введенных данных - очень тяжелый труд, поэтому лучше сразу сделать так, чтобы они не возникали.
В общем, любое действие, которое вам приходится повторять несколько раз, - это возможный кандидат на автоматизацию. Например, занесение сотен контактов в Outlook, или замена ресурса в десятках проектов Project, или анализ информации из базы данных за разные периоды в таблице Excel - это те ситуации, когда знание объектных моделей приложений Office спасает вас от нескольких часов или даже дней скучного труда.
Конечно, есть еще практиканты и аналогичный бесплатный трудовой ресурс, но хочется ли вам заниматься еще и поиском ошибок за ними? Кроме того, программирование несет и другие преимущества для сотрудника, которые использует его в работе:
· Повышает авторитет сотрудника в глазах руководства и других коллег;
· Если программы этого сотрудника активно используются на предприятии (им самим или другими работниками), то этим самым он защищает себя от сокращений, снижения зарплаты и т.п., ведь поддерживать и изменять программы в случае необходимости будет некому.
Постановка задачи
Курсовая работа состоит из трех этапов:
· Построение диалога формирования базы данных
· Построение диалога формирования таблицы (списка) данных
· Построение диалога запросов
1. Построить диалог формирования базы данных, имеющий 2 поля ввода (фамилия, имя), 4 раскрывающихся списка (факультет, отделение, группа), 2 группы по два флаж), 2 группы по два переключателя (группа здоровья: основная, подготовительная; предпочитаемая секция: офп, волейбол, футбол, аэробика) и 2 поля ввода со счетчиком (год рождения, курс). Диалог должен содержать три кнопки: ОК - запоминание введенных в элементы управления значений и очистка элементов управления (переход к вводу следующих данных); Выход - завершение работы диалога с запросом подтверждения на завершение; Формирование таблицы - вызов второго диалога.
2. Построить диалог формирования таблицы данных. Диалог должен содержать раскрывающийся список - выбор поля, по которому необходимо выполнять сортировку выводимых данных (количество элементов списка не менее 3). Диалог должен содержать две кнопки: ОК - формирование на листе таблицы данных, отсортированных по выбранному полю. Отмена - завершение работы диалога с запросом подтверждения на завершение.
3. Построить диалог запроса на вычисление. Диалог должен содержать раскрывающийся список - выбор поля, по которому выполняется вычисление (поле должно содержать числовые данные) и переключатель - выбор арифметической операции (сложение или умножение). Диалог должен содержать две кнопки: ОК - вывод результата вычислений. Отмена - завершение работы диалога с запросом подтверждения на завершение.
Раздел 1. Построение диалога формирования базы данных
Создание пользовательского типа, массива и переменной-счетчика (в модуле):
Type my
fam As String
name As String
ot As String
dl As String
obr As String
deti As String
dok As String
gr As String
godr As Integer
opt As String
avto As String
zp As Integer
End Type
Public mas(1 To 50) As my
Public sch
Создание переменных, хранящих значения года рождения, года рождения, изначально выводимого в окне, зарплату и зарплату, изначально выводимого в окне:
Public godr, godrn, zp, zpn As Integer
Создание функции инициализации:
Private Sub UserForm_Initialize()
Изначальные значения для счетчика элементов массива, года рождения, зарплаты и активной вкладки:
sch = 0
godrn = 1970
окно.Год.Value = godrn
godr = godrn
zpn = 5000
окно.зп.Value = zpn
zp = zpn
окно.вкладки.Value = 0
Занесение значений в раскрывающиеся списки:
окно.должность.AddItem "экономист"
окно.должность.AddItem "менеджер"
окно.должность.AddItem "секретарь"
окно.должность.AddItem "бухгалтер"
окно.образование.AddItem "Высшее"
окно.образование.AddItem "Среднее"
окно.образование.AddItem "Средне-специальное"
окно.образование.AddItem "Начальное"
Изначальные значения наличия детей,опыта работы и автомобиля:
окно.детида.Value = True
окно.Опытда.Value = True
окно.Автода.Value = True
End Sub
Изменение значения года рождения:
Private Sub год_стрелки_SpinDown()
If godr > 1920 Then godr = godr - 1
окно.Год.Value = godr
End Sub
Private Sub год_стрелки_SpinUp()
If godr < 2000 Then godr = godr + 1
окно.Год.Value = godr
End Sub
Изменение значения зарплаты:
Private Sub зп_стрелки_SpinDown()
If zp > 5000 Then zp = zp - 1000
окно.зп.Value = zp
End Sub
Private Sub зп_стрелки_SpinUp()
If zp < 30000 Then zp = zp + 1000
окно.зп.Value = zp
End Sub
Private Sub ок_Click()
sch = sch + 1
Запоминание введенных в элементы управления значений:
mas(sch).godr = окно.Год.Value
mas(sch).fam = окно.Фамилия.Value
mas(sch).name = окно.Имя.Value
mas(sch).ot = окно.Отчество.Value
mas(sch).dl = окно.должность.Value
mas(sch).obr = окно.образование.Value
mas(sch).zp = окно.зп.Value
If (РФ.Value = True And Другое.Value = True) Then mas(sch).gr = РФ.Caption + ", " + Другое.Caption
If (РФ.Value = True And Другое.Value = False) Then mas(sch).gr = РФ.Caption
If (РФ.Value = False And Другое.Value = True) Then mas(sch).gr = Другое.Caption
If (ИНН.Value = True And пс.Value = True) Then mas(sch).dok = ИНН.Caption + ", " + пс.Caption
If (ИНН.Value = True And пс.Value = False) Then mas(sch).dok = ИНН.Caption
If (ИНН.Value = False And пс.Value = True) Then mas(sch).dok = пс.Caption
If детида.Value = True Then mas(sch).deti = детида.Caption
If Детинет.Value = True Then mas(sch).deti = Детинет.Caption
If Опытда.Value = True Then mas(sch).opt = Опытда.Caption
If Опытнет.Value = True Then mas(sch).opt = Опытнет.Caption
If Автода.Value = True Then mas(sch).avto = Автода.Caption
If Автонет.Value = True Then mas(sch).avto = Автонет.Caption
Очистка элементов управления:
окно.Фамилия.Value = ""
окно.Имя.Value = ""
окно.Отчество.Value = ""
окно.должность.Value = ""
окно.образование.Value = ""
окно.детида.Value = True
окно.Опытда.Value = True
окно.Автода.Value = True
окно.Детинет.Value = False
окно.Опытнет.Value = False
окно.Автонет.Value = False
окно.ИНН.Value = False
окно.пс.Value = False
окно.РФ.Value = False
окно.Другое.Value = False
окно.Год.Value = godrn
godr = godrn
окно.зп.Value = zpn
zp = zrn
End Sub
Вызов второго диалога:
Private Sub форм_Табл_Click()
таблица.Show
End Sub
Завершение работы диалога с запросом подтверждения на завершение:
Private Sub выход_Click()
v = MsgBox("Вы действительно хотите закрыть окно?", 4 + 32, "Вопрос")
If v = 6 Then Unload окно
End Sub
Раздел 2. Построение диалога формирования таблицы данных
программирование база таблица листинг
Создание функции для сортировки методом «пузырька» (в модуле):
Public Sub swap(x As my, y As my)
Dim t As my
t = x
x = y
y = t
End Sub
Создание функции инициализации и занесение в список названия полей, по которым необходимо выполнить сортировку:
Private Sub UserForm_Initialize()
таблица.список.AddItem "фамилия"
таблица.список.AddItem "Имя"
таблица.список.AddItem "Отчество"
таблица.список.AddItem "должность"
End Sub
Private Sub ок_Click()
Создание переменных для написания цикла:
Dim i, j As Integer
Создание заголовков таблице на листе Excel:
Cells(1, 1) = "фамилия"
Cells(1, 2) = "имя"
Cells(1, 3) = "отчество"
Cells(1, 4) = "должность"
Cells(1, 5) = "образование"
Cells(1, 6) = "документы"
Cells(1, 7) = "гражданство"
Cells(1, 8) = "дети"
Cells(1, 9) = "опыт работы"
Cells(1, 10) = "наличие автомобиля"
Cells(1, 11) = "заработная плата"
Cells(1, 12) = "год рождения"
Сортировка данных:
If список.Value = "фамилия" Then
For j = 1 To sch - 1
For i = 1 To sch - j
If mas(i).fam > mas(i + 1).fam Then Call swap(mas(i), mas(i + 1))
Next i
Next j
End If
If список.Value = "Имя" Then
For j = 1 To sch - 1
For i = 1 To sch - j
If mas(i).name > mas(i + 1).name Then Call swap(mas(i), mas(i + 1))
Next i
Next j
End If
If список.Value = "отчество" Then
For j = 1 To sch - 1
For i = 1 To sch - j
If mas(i).ot > mas(i + 1).ot Then Call swap(mas(i), mas(i + 1))
Next i
Next j
End If
If список.Value = "должность" Then
For j = 1 To sch - 1
For i = 1 To sch - j
If mas(i).dl > mas(i + 1).dl Then Call swap(mas(i), mas(i + 1))
Next i
Next j
End If
Вывод данных на лист Excel:
For i = 1 To sch
Worksheets("Лист1").Cells(i + 1, 1) = mas(i).fam
Worksheets("Лист1").Cells(i + 1, 2) = mas(i).name
Worksheets("Лист1").Cells(i + 1, 3) = mas(i).ot
Worksheets("Лист1").Cells(i + 1, 4) = mas(i).dl
Worksheets("Лист1").Cells(i + 1, 5) = mas(i).obr
Worksheets("Лист1").Cells(i + 1, 6) = mas(i).dok
Worksheets("Лист1").Cells(i + 1, 7) = mas(i).gr
Worksheets("Лист1").Cells(i + 1, 8) = mas(i).deti
Worksheets("Лист1").Cells(i + 1, 9) = mas(i).opt
Worksheets("Лист1").Cells(i + 1, 10) = mas(i).avto
Worksheets("Лист1").Cells(i + 1, 11) = mas(i).zp
Worksheets("Лист1").Cells(i + 1, 12) = mas(i).godr
Next
End Sub
Вызов третьего диалога:
Private Sub вычисление_Click()
вычисл.Show
End Sub
Завершение работы диалога с запросом подтверждения на завершение:
Private Sub отмена_Click()
r = MsgBox("Вы действительно хотите закрыть окно?", 4 + 32, "Вопрос")
If r = 6 Then Unload таблица
End Sub
Раздел 3. Построение диалога запросов на обработку данных
Создание переменных, хранящих значения суммы и произведения:
Public s, r As long
Создание функции инициализации и занесение в список названий полей, по которым будет выполняться вычисление:
Private Sub UserForm_Initialize()
вычисл.выбор.AddItem "год рождения"
вычисл.выбор.AddItem "заработная плата"
Изначально выбранная операция - сумма:
Вычисл.сумма.Value = True
Начальные значения для суммы и произведения:
s = 0
r = 1
End Sub
Private Sub ок_Click()
Создание переменных для хранения значений случая:
Dim p, h As Integer
Выполнение операций:
If вычисл.выбор = "заработная плата" Then p = 1
If вычисл.выбор = "год рождения" Then p = 2
Select Case p
Case 1:
If вычисл.Сумма.Value = True Then h = 1
If вычисл.Произведение.Value = True Then h = 2
Select Case h
Case 1:
For i = 1 To sch
s = s + mas(i).zp
Next
Cells(sch + 2, 11) = s
Case 2:
For i = 1 To sch
r = r * mas(i).zp
Next
Cells(sch + 2, 11) = r
End Select
Case 2:
If вычисл.Сумма.Value = True Then h = 1
If вычисл.Произведение.Value = True Then h = 2
Select Case h
Case 1:
For i = 1 To sch
s = s + mas(i).godr
Next
Cells(sch + 2, 12) = s
Case 2:
For i = 1 To sch
r = r * mas(i).godr
Next
Cells(sch + 2, 12) = r
End Select
End Select
End Sub
Завершение работы диалога с запросом подтверждения на завершение:
Private Sub отмена_Click()
o = MsgBox("Вы действительно хотите закрыть окно?", 4 + 32, "Вопрос")
If o = 6 Then Unload вычисл
End Sub
Заключение
С помощью программирования в Microsoft Office я создала базу данных для приема на работу. Задачу выполнила полностью. Программа работает успешно и может применяться для приема на работу
Приложение
Раздел 1. Построение диалога формирования базы данных
Раздел 2. Построение диалога формирования таблицы данных
Раздел 3. Построение диалога запросов на обработку данных
Размещено на Allbest.ru
Подобные документы
Основные понятия базы данных. Разработка сложной формы для обработки данных. Модели организации данных. Архитектура Microsoft Access. Реляционные связи между таблицами баз данных. Проектирование базы данных. Модификация данных с помощью запросов действий.
лабораторная работа [345,5 K], добавлен 20.12.2011Сущности и функциональные зависимости базы данных. Атрибуты и связи. Таблицы базы данных. Построение ER-диаграммы. Организация ввода и корректировки данных. Реляционная схема базы данных. Реализация запросов, получение отчетов. Защита базы данных.
курсовая работа [2,4 M], добавлен 06.02.2016Создание базы данных, планирование разработки и системные требования. Проектирование базы данных в среде Microsoft Access, элементы и типы данных. Создание таблицы и использование конструктора для их модернизации. Построение запросов и создание макросов.
курсовая работа [2,0 M], добавлен 16.04.2011Понятие реляционной модели данных, целостность ее сущности и ссылок. Основные этапы создания базы данных, связывание таблиц на схеме данных. Проектирование базы данных книжного каталога "Books" с помощью СУБД Microsoft Access и языка запросов SQL.
курсовая работа [838,9 K], добавлен 25.11.2010Построение инфологической концептуальной модели предметной области. Структура базы данных Microsoft Office Access. Формы, запросы и отчеты. Создание форм, запросов и отчетов в базах данных. Схема данных физической и логической сущности в Erwin 4.0.
курсовая работа [5,1 M], добавлен 13.12.2011Понятие базы данных в Microsoft Access, описание таблицы как объекта. Назначение запросов, форм, отчетов и страниц. Макросы и модули в СУБД. Порядок создания базы данных, ввод описания поля. Свойства полей таблиц. Построение реляционной модели данных.
презентация [389,6 K], добавлен 18.01.2014Использование электронной таблицы как базы данных. Сортировка и фильтрация данных в Microsoft Excel 97. Сортировка - это упорядочение данных по возрастанию или по убыванию. При фильтрации базы отображаются только записи, обладающие нужными свойствами.
реферат [6,6 K], добавлен 17.11.2002Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.
курсовая работа [2,9 M], добавлен 29.06.2015Реализация приложения "Книжный магазин" средствами систем управления базами данных. Проектирование структуры базы данных, определение сущности и атрибутов. Логическое проектирование базы данных и реализация базы данных в СУБД Microsoft Office Access.
курсовая работа [7,8 M], добавлен 13.02.2023Проектирование реляционной базы данных с помощью прикладного программного средства MS ACCESS. Описания особенностей использования запросов для извлечения, изменения и удаления информации из базы данных. Характеристика структуры интерфейса пользователя.
курсовая работа [1,6 M], добавлен 19.11.2012