Автор работы: Пользователь скрыл имя, 17 Июня 2012 в 20:52, курсовая работа
Задачи проекта:
1. Анализ предметной области
2. Проектирование базы данных средствами MS ACCESS
3. Разработка приложения средствами VBA
4. Защита БД
Введение 4
1.Общая часть 6
1.1. Обзор и анализ предметной области 6
1.2. Жизненный цикл базы данных 7
1.3. Защита базы данных 9
1.4. Выбор и характеристика СУБД 13
1.5. Выбор и характеристика среды разработки приложения. 15
2. Специальная часть. 19
2.1. Постановка задачи: 19
2.2. Логическая схема БД 20
2.3. Описание таблиц 21
2.4. Другие объекты базы данных 23
2.5. Разработка приложений 25
2.6. Выбор способа защиты базы данных 27
2.7. Инструкция пользователю 28
Заключение 29
Список литературы 30
Loop
rst3.MoveFirst
o4.SetFocus
Do Until rst3.EOF
If rst3.Fields("н_ответа").Value = o4.Value Then
o4.Value = rst3.Fields("ответ").Value
End If
rst3.MoveNext
Loop
End If
End Sub
Sub o4_DblClick(Cancel As Integer)
Set db = CurrentDb
Set vv = db.OpenRecordset("testnew", dbOpenDynaset)
Set rst = db.OpenRecordset("select [н_темы],[вопрос],[н_
vv.AddNew
vv.Fields("Номер_вопроса").
vv.Fields("н_ответа").Value = op4
vv.Fields("н_правильного_
vv.Update
i = i + 1
If ysl = schotchik Then
vv.MoveFirst
Do Until vv.EOF
If vv.Fields("н_ответа").Value =
vv.Fields("н_правильного_
ozz = ozz + 1
End If
vv.MoveNext
Loop
If ozz >= kr3 Then
otm = "3"
Else
otm = "2"
End If
If ozz >= kr4 Then
otm = "4"
End If
If ozz >= kr5 Then
otm = "5"
End If
Set rez = db.OpenRecordset("результаты", dbOpenDynaset) 'выставить оценку в результаты
Do Until rez.EOF
If rez.Fields("н_рез").Value = nr Then
rez.Edit
rez.Fields("результат").Value = otm
rez.Update
End If
rez.MoveNext
Loop
MsgBox ("Ваш результат по пройденной теме '" & otm & "'")
DoCmd.Close
stDocName = "Загрузка" 'выход из формы
DoCmd.openform stDocName, , , stLinkCriteria
Else
schotchik = schotchik + 1
Set viv = db.OpenRecordset("select * from [вывод_на_экран] where [н_темы] like '" & ntem & "' and [н_вопроса] like '" & i & "' ", dbOpenSnapshot)
For v = 1 To schotchik - 1
rst.MoveNext
Next
rst2.MoveFirst
rst3.MoveFirst
vopr.SetFocus
vopr.Value = rst.Fields("вопрос").Value
vopros = vopr.Value
Do Until rst.EOF
vopr.SetFocus
If rst.Fields("вопрос").Value = vopros Then
prav = rst.Fields("н_правильного_
End If
rst.MoveNext
Loop
nv.Value = i
k = 0
viv.MoveFirst
Do Until viv.EOF
k = k + 1
If k = 1 Then
o1.SetFocus
o1.Value = viv.Fields("н_ответа").Value
op1 = viv.Fields("н_ответа").Value
End If
If k = 2 Then
o2.SetFocus
o2.Value = viv.Fields("н_ответа").Value
op2 = viv.Fields("н_ответа").Value
End If
If k = 3 Then
o3.SetFocus
o3.Value = viv.Fields("н_ответа").Value
op3 = viv.Fields("н_ответа").Value
End If
If k = 4 Then
o4.SetFocus
o4.Value = viv.Fields("н_ответа").Value
op4 = viv.Fields("н_ответа").Value
End If
viv.MoveNext
Loop
rst3.MoveFirst
o1.SetFocus
Do Until rst3.EOF
If rst3.Fields("н_ответа").Value = o1.Value Then
o1.Value = rst3.Fields("ответ").Value
End If
rst3.MoveNext
Loop
rst3.MoveFirst
o2.SetFocus
Do Until rst3.EOF
If rst3.Fields("н_ответа").Value = o2.Value Then
o2.Value = rst3.Fields("ответ").Value
End If
rst3.MoveNext
Loop
rst3.MoveFirst
o3.SetFocus
Do Until rst3.EOF
If rst3.Fields("н_ответа").Value = o3.Value Then
o3.Value = rst3.Fields("ответ").Value
End If
rst3.MoveNext
Loop
rst3.MoveFirst
o4.SetFocus
Do Until rst3.EOF
If rst3.Fields("н_ответа").Value = o4.Value Then
o4.Value = rst3.Fields("ответ").Value
End If
rst3.MoveNext
Loop
End If
End Sub
Private Sub выход_Click()
Set db = CurrentDb
vv.MoveFirst
Do Until vv.EOF
If vv.Fields("н_ответа").Value =
vv.Fields("н_правильного_
ozz = ozz + 1
End If
vv.MoveNext
Loop
If ozz >= kr3 Then
otm = "3"
Else
otm = "2"
End If
If ozz >= kr4 Then
otm = "4"
End If
If ozz >= kr5 Then
otm = "5"
End If
Set rez = db.OpenRecordset("результаты", dbOpenDynaset) 'выставить оценку в результаты
Do Until rez.EOF
If rez.Fields("н_рез").Value = nr Then
rez.Edit
rez.Fields("результат").Value = otm
rez.Update
End If
rez.MoveNext
Loop
MsgBox ("Ваш результат по пройденной теме '" & otm & "'")
DoCmd.Close
stDocName = "Загрузка" 'выход из формы
DoCmd.openform stDocName, , , stLinkCriteria
End Sub
Form2p ‘’ вход от лица преподавателя
Option Compare Database
Private Sub кн_пер_Click()
Dim db As Database, rst As DAO.Recordset, str As String, A, B As String
Set db = CurrentDb
Set rst = db.OpenRecordset("select * from password", dbOpenDynaset)
If IsNull(lbl1.Value) = True Then
MsgBox ("пароль не введён")
Else
B = lbl1.Value
A = rst.Fields("pass").Value
If A = B Then
On Error GoTo Err_кн_пер_Click
Dim stDocName As String
Dim stLinkCriteria As String
DoCmd.Close
stDocName = "form3p"
DoCmd.openform stDocName, , , stLinkCriteria
Exit_кн_пер_Click:
Exit Sub
Err_кн_пер_Click:
MsgBox Err.Description
Resume Exit_кн_пер_Click
Else
MsgBox ("Пароль неверен")
End If
End If
lbl1.SetFocus
lbl1.Value = Null
End Sub
Private Sub Кнопка7_Click()
DoCmd.Close
stDocName = "Загрузка"
DoCmd.openform stDocName, , , stLinkCriteria
End Sub
Form3p ‘’ загрузка формы для работы преподавателя
Option Compare Database
Dim stDocName As String
Dim stLinkCriteria As String
Private Sub del_Click()
stDocName = "Удаление"
DoCmd.openform stDocName, , , stLinkCriteria
End Sub
Private Sub dob_Click()
stDocName = "ДобавлениеСтуд"
DoCmd.openform stDocName, , , stLinkCriteria
End Sub
Private Sub izm_Click()
Dim db As Database, rst As DAO.Recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("оценивание", dbOpenDynaset)
onotole.Visible = False
izm1.Visible = True
izm21.Visible = True
izm31.Visible = True
izm41.Visible = True
izm2.Visible = True
izm3.Visible = True
izm4.Visible = True
izmkn.Visible = True
rst.MoveFirst
Do Until rst.EOF
If rst.Fields("оценка") = 5 Then
izm41.SetFocus
izm41.Value = rst.Fields("кол_отв").Value
End If
rst.MoveNext
Loop
rst.MoveFirst
Do Until rst.EOF
If rst.Fields("оценка") = 4 Then
izm31.SetFocus
izm31.Value = rst.Fields("кол_отв").Value
End If
rst.MoveNext
Loop
rst.MoveFirst
Do Until rst.EOF
If rst.Fields("оценка") = 3 Then
izm21.SetFocus
izm21.Value = rst.Fields("кол_отв").Value
End If
rst.MoveNext
Loop
End Sub
Private Sub izmkn_Click()
Dim db As Database, rst As DAO.Recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("оценивание", dbOpenDynaset)
Do Until rst.EOF
If rst.Fields("оценка") = 5 Then
rst.Edit
rst.Fields("кол_отв").Value = izm41.Value
rst.Update
End If
If rst.Fields("оценка") = 4 Then
rst.Edit
rst.Fields("кол_отв").Value = izm31.Value
rst.Update
End If
If rst.Fields("оценка") = 3 Then
rst.Edit
rst.Fields("кол_отв").Value = izm21.Value
rst.Update
End If
rst.MoveNext
Loop
red.SetFocus
izm1.Visible = False
izm21.Visible = False
izm31.Visible = False
izm41.Visible = False
izm2.Visible = False
izm3.Visible = False
izm4.Visible = False
izm.SetFocus
izmkn.Visible = False
izmy.Visible = True
izmkn2.Visible = True
End Sub
Private Sub izmkn2_Click()
izm.SetFocus
izmkn2.Visible = False
izmy.Visible = False
onotole.Visible = True
End Sub
Private Sub red_Click()
stDocName = "редстуд"
DoCmd.openform stDocName, , , stLinkCriteria
End Sub
Private Sub Кнопка23_Click()
stDocName = "добавтему"
DoCmd.openform stDocName, , , stLinkCriteria
End Sub
Private Sub Кнопка24_Click()
stDocName = "редтему"
DoCmd.openform stDocName, , , stLinkCriteria
End Sub
Private Sub Кнопка27_Click()
Set db = CurrentDb
Set rez = db.OpenRecordset("результаты", dbOpenDynaset)
If rez.RecordCount = 0 Then
MsgBox ("нет записей")
Else
stDocName = "чр"
DoCmd.openform stDocName, , , stLinkCriteria
End If
End Sub
Private Sub Кнопка28_Click()
DoCmd.Close
stDocName = "Загрузка"
DoCmd.openform stDocName, , , stLinkCriteria
End Sub
Private Sub пр_рез_Click()
On Error GoTo Err_пр_рез_Click
stDocName = "результаты"
DoCmd.openform stDocName, , , stLinkCriteria
Exit_пр_рез_Click:
Exit Sub
Err_пр_рез_Click:
MsgBox Err.Description
Resume Exit_пр_рез_Click
End Sub
ДобавлениеСтудента
Option Compare Database
Dim stDocName As String
Dim stLinkCriteria As String
Private Sub Кнопка1_Click()
Dim db As Database, rst As DAO.Recordset
Set db = CurrentDb
Set rst = db.OpenRecordset("студенты", dbOpenDynaset)
Set rst2 = db.OpenRecordset("пароли", dbOpenDynaset)
If (((im <> emty) Or (IsNull(im.Value) <> True)) And ((fam <> emty) Or (IsNull(fam.Value) <> True)) And ((gr <> emty) Or (IsNull(gr.Value) <> True)) And ((snp <> emty) Or (IsNull(snp.Value) <> True)) And ((lp <> emty) Or (IsNull(lp.Value) = True))) Then
rst.AddNew
snp.SetFocus
rst.Fields("н_паспорта").Value = snp
im.SetFocus
rst.Fields("имя").Value = im
fam.SetFocus
rst.Fields("фамилия").Value = fam
gr.SetFocus
rst.Fields("н_группы").Value = gr
rst.Update
rst2.AddNew
snp.SetFocus
rst2.Fields("н_паспорта").
lp.SetFocus
rst2.Fields("пароль").Value = lp.Value
rst2.Update
fam.SetFocus
MsgBox ("Студент добавлен.")
okface.Visible = False
fuckyeahface.Visible = True
Else
MsgBox ("Какое-то поле не заполнено!")
rock.Visible = False
okface.Visible = True
End If
snp.SetFocus
snp.Value = Empty
im.SetFocus
im.Value = Empty
fam.SetFocus
fam.Value = Empty
gr.SetFocus
gr.Value = Empty
lp.SetFocus
lp.Value = Empty
End Sub
Sub кнопка10_click()
snp.SetFocus
snp.Value = Empty
im.SetFocus
im.Value = Empty
fam.SetFocus
fam.Value = Empty
gr.SetFocus
gr.Value = Empty
stDocName = "form3p"
DoCmd.openform stDocName, , , stLinkCriteria
End Sub
Private Sub Кнопка13_Click()
DoCmd.Close
stDocName = "form3p"
DoCmd.openform stDocName, , , stLinkCriteria
End Sub
РедСтудента ‘’редактирование студентов
Информация о работе Обучающая программа по предмету "Базы данных"