Обучающая программа по предмету "Базы данных"

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

пояснительная записка.docx

— 173.01 Кб (Скачать файл)

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 Sub

 

Sub o1_DblClick(Cancel As Integer)

Set db = CurrentDb

Set vv = db.OpenRecordset("testnew", dbOpenDynaset)

Set rst = db.OpenRecordset("select [н_темы],[вопрос],[н_правильного_ответа] from [вопросы] where [н_темы] like '" & ntem & "'", dbOpenSnapshot)

vv.AddNew

vv.Fields("Номер_вопроса").Value = i

vv.Fields("н_ответа").Value = op1

vv.Fields("н_правильного_ответа").Value = prav

vv.Update

i = i + 1

If ysl = schotchik Then

vv.MoveFirst

Do Until vv.EOF

If vv.Fields("н_ответа").Value = vv.Fields("н_правильного_ответа").Value Then 'озз - считать правильные ответы.

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("н_правильного_ответа").Value

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

 

Sub o2_DblClick(Cancel As Integer)

Set db = CurrentDb

Set vv = db.OpenRecordset("testnew", dbOpenDynaset)

Set rst = db.OpenRecordset("select [н_темы],[вопрос],[н_правильного_ответа] from [вопросы] where [н_темы] like '" & ntem & "'", dbOpenSnapshot)

vv.AddNew

vv.Fields("Номер_вопроса").Value = i

vv.Fields("н_ответа").Value = op2

vv.Fields("н_правильного_ответа").Value = prav

vv.Update

i = i + 1

If ysl = schotchik Then

vv.MoveFirst

Do Until vv.EOF

If vv.Fields("н_ответа").Value = vv.Fields("н_правильного_ответа").Value Then 'озз - считать правильные ответы.

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("н_правильного_ответа").Value

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

 

Sub o3_DblClick(Cancel As Integer)

Set db = CurrentDb

Set vv = db.OpenRecordset("testnew", dbOpenDynaset)

Set rst = db.OpenRecordset("select [н_темы],[вопрос],[н_правильного_ответа] from [вопросы] where [н_темы] like '" & ntem & "'", dbOpenSnapshot)

vv.AddNew

vv.Fields("Номер_вопроса").Value = i

vv.Fields("н_ответа").Value = op3

vv.Fields("н_правильного_ответа").Value = prav

vv.Update

i = i + 1

If ysl = schotchik Then

vv.MoveFirst

Do Until vv.EOF

If vv.Fields("н_ответа").Value = vv.Fields("н_правильного_ответа").Value Then 'озз - считать правильные ответы.

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("н_правильного_ответа").Value

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

Информация о работе Обучающая программа по предмету "Базы данных"