Создание информационных систем средствами Visual Basic .NET
Этапы разработки информационной системы, позволяющей обрабатывать данные о студентах и их успеваемости, представленные в определенном формате. Макет главной формы в режиме конструктора. Использование диалогового окна Windows. Создание файлов базы данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 08.09.2015 |
Размер файла | 591,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Sp.ReadFromFile(F1_sp, i)
If i <> ListIndex Then
Sp.writeToFile(TempFile, j)
j = j + 1
End If
Next i
F1_sp.Close()
TempFile.Close()
' перезапись измененного файла-справочника
Kill(PathSpec)
Rename(PathTemp, PathSpec)
' загрузка обновленного файла-справочника
F1_sp = New FileStream(PathSpec, FileMode.Open)
' вызов пользовательской процедуры загрузки записей
' справочника в элемент ComSpec
CallLoadSprav()
' текущая форма становится активной
Me.Enabled = True
' вызов процедуры удаления отмеченных записей
' основного файла данных
cmdPack_Click(sender, e)
EndSub
Замечание!!!В этом месте снова запустите проект для проверки взаимодействия основного файла базы данных с файлом-справочником, но сохранять записи также пока невозможно, так как не реализована кнопка «Добавить». Не забывайте регулярно сохранять проект.
Процедура обработки события нажатия на кнопку «Добавить» обеспечивает добавление записи в файл базы данных и подготовку к вводу полей новой записи.
Private Sub cmdAdd_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdAdd.Click
Dim R As TStud = New TStud()
Dim Sp As TSpec = New TSpec()
' заполнение полей записи
R.FIO = txtFIO.Text
R.Kurs = CByte(txtKurs.Text)
R.Group = CByte(txtGroup.Text)
R.Kol = CByte(txtKol.Text)
R.Pol = CByte(ComPol.SelectedIndex)
R.Spec = FindSpecCode(ComSpec.SelectedIndex)
R.DataR = txtDR.Value
' проверка корректности введенных данных в поле
' специальности
IfR.Spec = 0 Then
MsgBox("Неверное значение поля специальность!")
ExitSub
EndIf
' проверка непустоты полей оценок
If (txtM1.Text = "") Or (txtM2.Text = "") Or _
(R.Kol > 2) And (txtM3.Text = "") Or _
(R.Kol > 3) And (txtM4.Text = "") Or _
(R.Kol > 4) And (txtM5.Text = "") Then
MsgBox("Введены не все оценки!")
Exit Sub
End If
R.M(0) = CByte(txtM1.Text)
R.M(1) = CByte(txtM2.Text)
If R.Kol > 2 Then R.M(2) = CByte(txtM3.Text)
If R.Kol > 3 Then R.M(3) = CByte(txtM4.Text)
If R.Kol > 4 Then R.M(4) = CByte(txtM5.Text)
' позиция передвигается,
Pos = N + 1
' количество записей увеличивается
N = N + 1
' запись вносится в файл
R.writeToFile(f1, Pos)
' кнопки «Начало» и «Назад» становятся активными
cmdTop.Enabled = True
cmdBackUp.Enabled = True
cmdExit.Focus()
' вызов процедуры для заполнения новой записи
Call ShowNewZap()
End Sub
Замечание!!!А теперь попытайтесь заполнить файл данными (1-2 записи) и закрыть форму frmInputEditс сохранением файлов.
Заметим, что количество видимых на форме элементов txtM«i», предназначенных для ввода оценок прямо зависит от содержимого элемента txtKol. Таким образом, скрытие лишних видимых элементов и показ нужных невидимых элементов txtM«i» должны зависеть от изменения содержимого txtKol, т.е. далее необходимо обработать событие изменения содержимого элемента txtKol. Приведем код процедуры обработки этого события.
PrivateSubtxtKol_ValueChanged(ByValsenderAsSystem.Object,_
ByVal e As System.EventArgs) Handles txtKol.ValueChanged
Dim i As Integer = txtKol.Value
' все элементы, соответствующие оценкам скрываются
txtM1.Visible = False
txtM2.Visible = False
txtM3.Visible = False
txtM4.Visible = False
txtM5.Visible = False
' открываются первые несколько элементов
' их количество зависит от значения элемента txtKol
If i > 0 Then txtM1.Visible = True
If i > 1 Then txtM2.Visible = True
If i > 2 Then txtM3.Visible = True
If i > 3 Then txtM4.Visible = True
If i > 4 Then txtM5.Visible = True
EndSub
Таким образом, при изменении содержимого элемента txtKol все элементы txtM, соответствующие оценкам скрываются, затем открывается столько элементов, сколько указано в содержимом элемента txtKol.
Кроме этого необходимо предусмотреть проверку корректности вводимых данных в поля, соответствующие оценкам. Это можно сделать с помощью следующей обработки события изменения содержимого элементов txtM.
Private Sub txtM_TextChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles txtM5.TextChanged, _
txtM4.TextChanged, txtM3.TextChanged, txtM2.TextChanged, _
txtM1.TextChanged
Dim txtM As TextBox = sender
' если содержимое элемента txtM(Index) является числом
If IsNumeric(txtM.Text) = True Then
' и не находится в пределах от 2 до 5,
If CByte(txtM.Text) < 2 Or CByte(txtM.Text) > 5 Then
' пользователь получает предупреждение об ошибке
MsgBox("Неверная оценка", vbExclamation + vbOKOnly, _
"Ошибка")
End If
ElseIf txtM.Text <> "" Then
' если содержимое не является цифрой,
' пользователь получает предупреждение об ошибке
MsgBox("Оценка должна являться цифрой!", vbOKOnly + _
vbExclamation, "Ошибка")
End If
End Sub
Замечание!!!В этом месте нужно выполнить полное тестирование формы frmInputEdit, для этого необходимо заполнить файл данными (4-5 записей) и сохранить его.
Кроме ввода новых данных форма frmInputEdit должна позволять просматривать и редактировать существующие данные, для этого необходимо описать перемещение по записям нашей базы данных. Для перемещения по записям будем использовать кнопки «Начало» (cmdTop), «Конец» (cmdBottom), «Назад» (cmdBackUp) и «Вперед» (cmdForward). Опишем обработку событий нажатия для каждой кнопки:
PrivateSubcmdTop_Click(ByValsenderAsSystem.Object,_
ByVal e As System.EventArgs) Handles cmdTop.Click
' вывод первой записи данных
Pos = 1
CallShowZap(Pos)
' кнопки перемещения по записям становятся активными
frmMenu.Text = frmMenu.Text + " Авт"
cmdTop.Enabled = True
cmdBottom.Enabled = True
cmdForward.Enabled = True
cmdBackUp.Enabled = True
' кнопки «Изменить» и «Обновить» становятся активными
cmdEdit.Enabled = True
cmdPack.Enabled = True
' кнопка «Добавить» становится неактивной
frmMenu.Text = frmMenu.Text + "ор: "
cmdAdd.Enabled = False
' фокус передается на кнопку «Выход»
cmdExit.Focus()
End Sub
Private Sub cmdBottom_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdBottom.Click
' вывод последней записи данных
Pos = N
CallShowZap(Pos)
' кнопки перемещения по записям становятся активными
frmMenu.Text = frmMenu.Text + "дов "
cmdTop.Enabled = True
cmdBottom.Enabled = True
cmdForward.Enabled = True
cmdBackUp.Enabled = True
' кнопки «Изменить» и «Обновить» становятся активными
cmdEdit.Enabled = True
cmdPack.Enabled = True
' кнопка «Добавить» становится неактивной
cmdAdd.Enabled = False
' фокус передается на кнопку «Выход»
cmdExit.Focus()
End Sub
Private Sub cmdBackUp_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdBackUp.Click
' переход на предыдущую позицию
Pos = Pos - 1
' все кнопки становятся активными
frmMenu.Text = frmMenu.Text + "рохо"
cmdTop.Enabled = True
cmdBottom.Enabled = True
cmdForward.Enabled = True
cmdEdit.Enabled = True
cmdPack.Enabled = True
' если запись первая, то кнопка «Назад»
' становится неактивной
IfPos<= 1 Then
cmdBackUp.Enabled = False
Pos = 1
End If
' вывод записи с номером Pos
Call ShowZap(Pos)
End Sub
Private Sub cmdForward_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles cmdForward.Click
' переход на следующую позицию
frmMenu.Text = frmMenu.Text + "Ско"
Pos = Pos + 1
' если была не последняя запись,
IfPos<= NThen
' то переход на следующую запись
vscrZap.Value = Pos
Call ShowZap(Pos)
cmdBackUp.Enabled = True
cmdExit.Focus()
Else
' иначе вызов процедуры для заполнения новой записи
Call ShowNewZap()
End If
End Sub
Для перемещения по записям базы данных можно использовать полосу прокрутки (элемент управления VscrZap). При помощи полосы прокрутки можно перемещаться на одну или несколько записей в базе. Процедура обработки события изменения значения имеет вид:
PrivateSubvscrZap_Scroll(ByValsenderAsSystem.Object, _
ByVal e As System.Windows.Forms.ScrollEventArgs) _
HandlesvscrZap.Scroll
` максимальное значение полосы прокрутки равно
` количеству записей
VScrZap.Maximum = N
` перемещение на запись по значению полосы прокрутки
Pos = VScrZap.Value
Call ShowZap(Pos)
EndSub
Заметим, что во всех этих процедурах обработки событий нажатия на кнопки вызывается процедура ShowZap. Эта процедура позволяет загрузить в элементы формы все поля указанной записи, т.е. именно она обеспечивает просмотр определенной записи в данных.
Новый этап тестирования проекта для проверки возможности перемещения по записям базы данных с использованием описанных возможностей.
Описав процедуры обработки событий и пользовательские процедуры, мы подготовили инструменты для работы с отдельными записями файла базы данных, и теперь можно перейти к созданию «реальной» базы данных.
Для очередного этапа тестирования проекта необходимо подготовить тестовый файл, в котором должно быть 15-20 записей с разными значениями курсов (2-3 курса), для каждого значения курса должно быть несколько групп (2-3 группы), в каждой группе должно быть несколько студентов (3-4 студента).
Создайте файл, удовлетворяющий описанным выше требованиям, и сохраните его в папке проекта. Этот файл будет использоваться для тестирования заявленных функций приложения.
Литература
1. Амелина Н.И., Мачулина Л.А Методические указания по курсовому проектированию по курсу «Базы данных» для студентов механико-математического факультета вечернего и дневного отделения. - Ростов-на-Дону, УПЛ РГУ, 1999.
2. Ананьев А.И., Федоров А.Ф. Самоучитель VisualBasic 6.0. - СПб.: БХВ-Петербург, 2002. - 624 с.: ил. ISBN 5-8206-0060-6
3. Браун С. VisualBasic 6: учебный курс. - СПб.: Питер, 2002. - 576 с.: ил. ISBN 5-8246-0054-0
4. Вендров А. М. Проектирование программного обеспечения экономических информационных систем: Учебник. -- М.: Финансы и статистика, 2002. - 352 с.: ил. ISBN 5-279-02144-Х
5. Невская Е.С., Амелина Н.И., Мачулина Л.А. Введение в системы баз данных. Методические указания для студентов вечернего и дневного отделения механико-математического факультета. - Ростов-на-Дону, УПЛ РГУ, 2003.
Размещено на Allbest.ru
...Подобные документы
Программный проект Баз данных средствами Visual Basic 6.0. Проектирование структуры таблицы базы данных Visual Basic 6.0. Заполнение созданных таблиц БД исходными данными. Создание пользовательского меню. Вид формы и свойства элементов управления.
курсовая работа [3,0 M], добавлен 19.06.2010Основы работы с языком программирования Visual Basic 6.0, разработка и обработка созданных баз данных. Создание экранной формы и запросов по таблице VIP. Алгоритм совместного запроса по таблицам VIP и PROD. Методика разработки пользовательского меню.
курсовая работа [2,7 M], добавлен 04.06.2009Создание единой информационной сети, позволяющей эффективно хранить, обрабатывать, анализировать и использовать информацию по учету успеваемости студентов. Основные функции и формы созданной информационной системы. Экономическое обоснование проекта.
дипломная работа [1,5 M], добавлен 20.10.2013Понятия основных компонентов базы данных Access. Таблицы, отчеты, макросы и модули, форма, запросы к базе и их виды. Типы данных. Создание базы данных "Кадры". Создание таблицы в режиме конструктора. Использование мастера подстановок для создания связей.
курсовая работа [818,0 K], добавлен 10.03.2016Создание базы данных, планирование разработки и системные требования. Проектирование базы данных в среде Microsoft Access, элементы и типы данных. Создание таблицы и использование конструктора для их модернизации. Построение запросов и создание макросов.
курсовая работа [2,0 M], добавлен 16.04.2011Определение автоматизированных информационных систем. Обоснование выбора среды разработки информационной системы. Создание запросов для выбора информации. Логическая и физическая структура реляционной базы данных. Разработка интерфейса пользователя.
курсовая работа [2,1 M], добавлен 16.04.2017Создание таблиц базы данных в режиме конструктора. Схема связей между таблицами и содержание таблиц. Установление связи с поддержанием целостности. Структуры двух запросов (в режиме конструктора) и описание процесса их создания. Результаты вывода отчетов.
курсовая работа [3,0 M], добавлен 28.06.2015Проектирование базы данных "Общежитие" в СУБД Microsoft Access. Создание запросов, состоящих из комбинаций разных типов данных. Создание форм и полей таблицы в режиме конструктора. Ввод и просмотр данных в режиме таблицы, создание связей между ними.
курсовая работа [4,3 M], добавлен 24.06.2019Создание базы данных "Автовокзал" как части информационной системы. Требования к базе данных и этапы ее разработки. Анализ информационных потоков, выбор модели. Входные и выходные данные. Программирование базы данных на языке Borland Delphi 7.0.
курсовая работа [105,8 K], добавлен 16.05.2011Проектирование базы данных "Вклад", в которой вкладчики делают вклады разного вида в одном из нескольких филиалов банка. Интерфейс в режиме конструктора. Создание таблицы "Учет вкладов" в виде ленточной формы. Схема данных, кнопка выхода в интерфейс.
курсовая работа [1,4 M], добавлен 24.03.2015Создание базы данных, состоящей из таблиц, запросов и форм, в MS Ассеss. Распределение совокупности данных по таблицам в соответствии с требованиями нормализации. Обработка событий при помощи макросов. Создание сложных форм в редакторе Visual Basic.
лабораторная работа [797,7 K], добавлен 04.01.2011Разработка базы данных деканата магистратуры, включающую в себя информация о студентах, форму обучения, экзамены. Создание таблиц и запросов в режиме конструктора, отчета с помощью мастера отчетов. Вывод данных с помощью форм. Вкладки кнопочной формы.
курсовая работа [2,9 M], добавлен 18.07.2014Установление связи между таблицами. Создание запроса с параметром для отбора пациентов с определенным видом заболевания. Создание формы для ввода данных, отчетов и главной кнопочной формы. Ход разработки базы данных. Изменение и обновление записей.
курсовая работа [4,5 M], добавлен 20.06.2017Принципы визуального программирования. Создание программы, генерирующей звук через определенные промежутки времени. Visual Basic как средство разработки прототипов программы, для разработки приложений баз данных и компонентного способа создания программ.
лабораторная работа [1,1 M], добавлен 10.12.2014Сущность и виды СУБД Microsoft Access. Алгоритм создания базы данных сессионной успеваемости студентов ВУЗа. Проектирование форм для сводных таблиц с помощью конструктора окон. Разработка отчетов и запросов на выборку данных. Создание кнопочной формы.
курсовая работа [5,4 M], добавлен 09.05.2011Проектирование базы данных для удобства работы организатора и систематизации различных конференций. Создание таблиц в режиме конструктора и установление связей между ними, запросов, форм для ввода данных, главной кнопочной формы, макросов и отчетов.
курсовая работа [2,3 M], добавлен 25.10.2014Правила создания баз данных в Access. Основы строения таблиц базы "Оператор сотовой связи" с помощью Конструктора; изучение их связи. Определение полей и типов данных. Создание параметрических универсальных запросов, главной кнопочной формы и отчетов.
курсовая работа [1,7 M], добавлен 22.04.2014Изучение работы с реляционной СУБД "Access", основные этапы проектирования базы данных: создание таблицы в режиме конструктора, заполнение ее данными, проектирование связей между ними. Создание форм и запросов, выбор сортировки, заполнение отчетов.
контрольная работа [4,5 M], добавлен 17.01.2011Создание информационной системы учета стран, поставляющих продукты в крупные фирмы. Схема данных и ее описание. Создание таблиц программы. Проектирование базы данных. Главная кнопочная форма. Рисунки структур запросов для отчетов в режиме конструктора.
курсовая работа [2,9 M], добавлен 04.02.2013Понятие и основное содержание баз данных. Разновидности информационных моделей. Этапы практического создания нормализованной базы данных средствами Microsoft Access. Использование маски ввода, создание запросов для выдачи соответствующих справок.
контрольная работа [553,8 K], добавлен 03.03.2015