Разработка базы данных для ведения учета успеваемости студентов в электронном виде

Автор: Пользователь скрыл имя, 09 Февраля 2012 в 23:24, дипломная работа

Краткое описание

В настоящее время осуществляется очередной этап развития человечества - формирование информационного общества. Современные информационные и телекоммуникационные технологии существенно меняют не только способ производства продуктов и услуг, но и организацию, формы проведения досуга, методы и формы воспитания и образования. Они оказывают решающее воздействие на социальную структуру общества, экономику, политику, развитие общественных институтов. Современный человек просто не может представить свое существование без компьютера. Возникают все новые и новые потребности в обработке, хранении и передаче информации.

Оглавление

Оглавление
Введение 3
1. Анализ предметной области 5
1.1. Структура ВУЗа и общие положения образовательного процесса 5
1.2. Документы, используемые при учете успеваемости студентов 30
1.3. Недостатки существующей системы учета 30
2. Проектирование модели 32
2.1. Результаты анализа 32
2.2. Логическое проектирование 33
2.3. Разработка схемы данных 37
3. Разработка приложения 40
3.1. Проектирование пользовательского интерфейса 40
Заключение 74
Список использованной литературы 75

Файлы: 1 файл

Диплом.doc

— 651.50 Кб (Скачать)

    Dim sqlUpd As String

    For i = 1 To flxMag.Rows - 1

        sqlUpd = "Update Result set IdBall="

        If flxMag.TextMatrix(i, 3) <> "" Then sqlUpd = sqlUpd & flxMag.TextMatrix(i, 2) Else sqlUpd = sqlUpd & "Null"

        sqlUpd = sqlUpd & ", DateRec="

        If flxMag.TextMatrix(i, 1) <> "" Then sqlUpd = sqlUpd & Chr(39) & flxMag.TextMatrix(i, 1) & Chr(39) Else sqlUpd = sqlUpd & "Null"

        sqlUpd = sqlUpd & ", Themes="

        If flxMag.TextMatrix(i, 4) <> "" Then sqlUpd = sqlUpd & Chr(39) & flxMag.TextMatrix(i, 4) & Chr(39) Else sqlUpd = sqlUpd & "Null"

        sqlUpd = sqlUpd & " where IdRec=" & flxMag.TextMatrix(i, 5)

        BDSt.cnnBDSt.Execute sqlUpd

    Next i

End Select

End Sub 

Private Sub tmrNow_Timer()

stbMag.Panels(1).Text = Time

End Sub

Форма для  просмотра справочников.

     Для выбора справочника существует раскрывающийся список. После обновления будет показано содержимое выбранного элемента.

     Для этой формы реализован алгоритм настройки. Благодаря этому можно создавать  собственные представления.

Рисунок 9. Форма “Справочники”

Код формы:

Private Sub cmdRefresh_Click()

If IsNull(dtcTKom.SelectedItem) = True Then

    MsgBox "Выберите  справочник!", vbExclamation, App.Title

    Exit Sub

End If

flxQbe.Visible = False

grdQBE.Visible = True

TName = BDSt.rsqbe.Fields(0).Value

For i = 1 To flxQbe.Rows - 1

    Fname = Fname & TName & "." & flxQbe.TextMatrix(i, 0) & ", "

Next i

Fname = Mid(Fname, 1, Len(Fname) - 2)

BDSt.Commands.Item("tempqbe").CommandText = "Select " & Fname & " from " & TName

BDSt.rsTempQBE.Open

BDSt.rsTempQBE.Requery

grdQBE.DataMember = "TempQBE"

BDSt.rsTempQBE.Close

For i = 1 To flxQbe.Rows - 1

    grdQBE.Columns.Item(i - 1).Caption = flxQbe.TextMatrix(i, 1)

    grdQBE.Columns.Item(i - 1).Width = Len(flxQbe.TextMatrix(i, 1)) * 110

Next i

End Sub 

Private Sub dtcTKom_Change()

grdQBE.Visible = False

flxQbe.Visible = True

flxQbe.Rows = 1

BDSt.rsqbe.Move dtcTKom.SelectedItem - 1, 1

st = ""

Sql = ""

For i = 1 To Len(BDSt.rsqbe.Fields(1).Value)

    If Mid(BDSt.rsqbe.Fields(1).Value, i, 1) <> ";" Then

        stSql = ""

        st = st & Mid(BDSt.rsqbe.Fields(1).Value, i, 1)

    Else

        stSql = st

        st = ""

    End If

    If Len(stSql) > 0 Then

        flxQbe.Rows = flxQbe.Rows + 1

        flxQbe.TextMatrix(flxQbe.Rows - 1, 0) = stSql

    End If

Next i

z = 0

For i = 1 To Len(BDSt.rsqbe.Fields(3).Value)

    If Mid(BDSt.rsqbe.Fields(3).Value, i, 1) <> ";" Then

        stSql = ""

        st = st & Mid(BDSt.rsqbe.Fields(3).Value, i, 1)

    Else

        stSql = st

        st = ""

        z = z + 1

    End If

    If Len(stSql) > 0 Then

        flxQbe.TextMatrix(z, 1) = stSql

    End If

Next i

End Sub 

Private Sub Form_Load()

flxQbe.TextMatrix(0, 1) = "Описание"

flxQbe.TextMatrix(0, 2) = "Условие"

flxQbe.TextMatrix(0, 3) = "Значение"

flxQbe.TextMatrix(0, 4) = "+/-"

flxQbe.ColWidth(0) = 0

flxQbe.ColWidth(1) = 2000

flxQbe.ColWidth(2) = 800

flxQbe.ColWidth(3) = 2000

flxQbe.ColWidth(4) = 300

End Sub 

Private Sub Form_Unload(Cancel As Integer)

frmMAin.Show

End Sub

     Форма для ввода и редактирования данных по студентам.

     Особенностью  этой формы является возможность  экспорта данных из файла Excel.

Рисунок 10. Форма “Студенты”

Код формы:

Private Sub Form_Unload(Cancel As Integer)

frmMAin.Show

End Sub 

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)

Select Case Button.Index

Case 2

    On Error GoTo err1

cdOpenXls.FileName = ""

cdOpenXls.ShowOpen

If Len(cdOpenXls.FileName) > 0 Then

    '---------------------------------------------------------------------------------

    frmImport.Show

    frmImport.Caption = "Импорт данных...подключение"

    Set Import = CreateObject("Excel.application")

    Import.workbooks.Open (cdOpenXls.FileName)

    frmImport.prbImport.Value = 0

    frmImport.Caption = "Импорт данных...проверка"

    With Import

        For i = 1 To .worksheets.Count

            k = 1

            While .worksheets.Item(i).cells(k, 1) <> ""

                k = k + 1

            Wend

            EndK = EndK + k

        Next i

        frmImport.Caption = "Импорт данных...выполнено  0%"

    End With

    frmImport.prbImport.Max = EndK

Dim rsFakt As New Recordset

rsFakt.CursorLocation = adUseClient

Dim sqlFakt As String

Dim NumFakt As Long

Dim rsKurs As New Recordset

rsKurs.CursorLocation = adUseClient

Dim sqlKurs As String

Dim NumKurs As Long

Dim rsGor As New Recordset

rsGor.CursorLocation = adUseClient

Dim sqlGor As String

Dim NumGor As Long

Dim rsGr As New Recordset

rsGr.CursorLocation = adUseClient

Dim sqlGr As String

Dim NumGr As Long

Dim rsTestStud As New Recordset

Dim sqlTestStud As String

Dim sqlInsert As String

    For i = 1 To Import.worksheets.Count

        k = 1

        While Import.worksheets.Item(i).cells(k, 1) <> ""

            fio = Import.worksheets.Item(i).cells(k, 1)

            fakt = Import.worksheets.Item(i).cells(k, 2)

            Kurs = Import.worksheets.Item(i).cells(k, 3)

            Gr = Import.worksheets.Item(i).cells(k, 4)

            city = Import.worksheets.Item(i).cells(k, 5)

sqlFakt="Select IdFak from Fakult where NameFak="& Chr(39) & fakt & Chr(39)

            rsFakt.Open sqlFakt, BDSt.cnnBDSt, adOpenDynamic, adLockOptimistic

            If rsFakt.RecordCount > 0 Then

                NumFakt = rsFakt!IdFak

            Else

                NumFakt = 1

            End If

            rsFakt.Close

sqlKurs = "Select IdKurs from Kurs where Kurs=" & Chr(39) & Kurs & Chr(39)

            rsKurs.Open sqlKurs, BDSt.cnnBDSt, adOpenDynamic, adLockOptimistic

            If rsKurs.RecordCount > 0 Then

                NumKurs = rsKurs!IdKurs

            Else

                NumKurs = 1

            End If

            rsKurs.Close

sqlGor = "Select IdCity from City where Ident=" & Chr(39) & city & Chr(39)

            rsGor.Open sqlGor, BDSt.cnnBDSt, adOpenDynamic, adLockOptimistic

            If rsGor.RecordCount > 0 Then

                NumGor = rsGor!IdCity

            Else

               NumGor = 1

            End If

            rsGor.Close

            sqlGr = "Select IdGroup from GroupS where NGroup=" & Gr & " and IdCity=" & CStr(NumGor)

            rsGr.Open sqlGr, BDSt.cnnBDSt, adOpenDynamic, adLockOptimistic

            If rsGr.RecordCount > 0 Then

                NumGr = rsGr!IdGroup

            Else

                NumGr = 1

            End If

            rsGr.Close

            sqlTestStud = "Select IdStud from Student where FIOStud=" & Chr(39) & fio & Chr(39) & " and IdFak=" & CStr(NumFakt) & " and IdGroup=" & CStr(NumGr) & " and IdKurs=" & CStr(NumKurs)

            rsTestStud.Open sqlTestStud, BDSt.cnnBDSt, adOpenDynamic, adLockOptimistic

            If rsTestStud.RecordCount = 0 Then

                sqlInsert = "INSERT INTO Student (FIOStud, IdFak, IdGroup, IdKurs) values (" & Chr(39) & fio & Chr(39) & ", " & NumFakt & ", " & NumGr & ", " & NumKurs & ")"

                BDSt.cnnBDSt.Execute sqlInsert

            End If

            rsTestStud.Close

            frmImport.Caption = "Импорт данных...выполнено " & Round((100 * k) / EndK, 0) & "%"

            k = k + 1

            frmImport.prbImport.Value = frmImport.prbImport.Value + 1

        Wend

    Next i

Import.workbooks.Close

Unload frmImport

'------------------------------------------------------------------------------------------------

End If

Exit Sub

err1:

MsgBox Err.Description

Case 4

    Unload Me

End Select

End Sub

 

    

Заключение

     Автоматизация работ сотрудников вузов – очень важная задача. Созданная информационная система предназначена для автоматизации работы кафедр и деканатов. Необходимо отметить, что в результате исследований накоплено большое количество полезной информации. Таким образом, сделан большой шаг в понимании решения задачи информатизации вуза, как объекта достаточно сложной структуры

     Использование баз данных и информационных систем становится неотъемлемой составляющей повседневной, профессиональной и деловой  деятельности людей.

     При внедрении данного приложения, становится возможным оперативно контролировать через базу данных успеваемость студентов:

  1. учет итоговой и промежуточной успеваемости студентов (зачеты и экзамены);
  2. учет результатов курсовых проектов и работ;
  3. учет результатов практических занятий;
  4. учет результатов контрольных, лабораторных и практических работ, выполняемых в аудиториях.
 

 

     

    Список  использованной литературы

  1. Боровиков В.В. Microsoft Access 2002. Программирование и разработка баз данных и приложений. М., Солон-Р. С. 560.
  2. Джон Л.Вескес. Access и SQL Server. Руководство разработчика. М., ЛОРИ. С. 362.
  3. С.В. Глушаков “Базы данных: Учебный курс”– К.: Абрис, 2000/ Ломотьков Д.В..
  4. Ю.А. Пригорьев “Проблемы выбора доступа к данным при проектировании информационных систем на основе СУБД” //Информационные технологии. - 1999 - 5.С. 4-10.
  5. Федеральный закон от 22.08.1996 N 125-ФЗ (ред. от 20.04.2007) "О ВЫСШЕМ И ПОСЛЕВУЗОВСКОМ ПРОФЕССИОНАЛЬНОМ ОБРАЗОВАНИИ" (принят ГД ФС РФ 19.07.1996)
  6. Устав ЛГУ им. А. С. Пушкина

Информация о работе Разработка базы данных для ведения учета успеваемости студентов в электронном виде