Разработка интерфейса формирования и обработки базы данных в 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.