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

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

Option Compare Database

Dim A As String

Dim stDocName As String

    Dim stLinkCriteria As String

 

Private Sub Кнопка12_Click()

Dim db As Database, rst As DAO.Recordset

Set db = CurrentDb

Set rst = db.OpenRecordset("студенты", dbOpenDynaset)

If IsNull(fam) = True Or IsNull(im) = True Or IsNull(gr) = True Or IsNull(snp2) = True Or IsNull(snp) = True Then

MsgBox ("Введите данные  в пустые поля!!!")

Else

snp.SetFocus

A = snp.Text

Do Until rst.EOF

If (rst.Fields("н_паспорта").Value = A) Then

rst.Edit

  fam.SetFocus

  rst.Fields("фамилия").Value = fam.Value

  im.SetFocus

  rst.Fields("имя").Value = im.Value

  snp2.SetFocus

  rst.Fields("н_паспорта").Value = snp2.Value

  gr.SetFocus

  rst.Fields("н_группы") = gr.Value

rst.Update

MsgBox ("данные обновлены!")

End If

rst.MoveNext

Loop

snp.SetFocus

snp.Value = Null

snp2.SetFocus

snp2.Value = Null

fam.SetFocus

fam.Value = Null

im.SetFocus

im.Value = Null

gr.SetFocus

gr.Value = Null

stDocName = "form3p"

    DoCmd.openform stDocName, , , stLinkCriteria

End If

End Sub

 

Private Sub Кнопка13_Click()

snp.SetFocus

snp.Value = Null

snp2.SetFocus

snp2.Value = Null

fam.SetFocus

fam.Value = Null

im.SetFocus

im.Value = Null

gr.SetFocus

gr.Value = Null

DoCmd.Close

stDocName = "form3p"

    DoCmd.openform stDocName, , , stLinkCriteria

End Sub

 

Private Sub Кнопка3_Click()

Dim db As Database, rst As DAO.Recordset

Set db = CurrentDb

Set rst = db.OpenRecordset("студенты", dbOpenDynaset)

snp.SetFocus

A = snp.Text ''найти...

 

k = 0

Do Until rst.EOF

If (rst.Fields("н_паспорта").Value = A) Then

  fam.SetFocus

  fam.Value = rst.Fields("фамилия")

  im.SetFocus

  im.Value = rst.Fields("имя")

  gr.SetFocus

  gr.Value = rst.Fields("н_группы")

  snp2.SetFocus

  snp2.Value = rst.Fields("н_паспорта")

k = 1

End If

 

rst.MoveNext

Loop

If k = 0 Then

MsgBox (" такой записи  не найдено !")

End If

End Sub

 

Удаление  ‘’ удаление студента

Option Compare Database

Dim stDocName As String

    Dim stLinkCriteria As String

 

Private Sub Кнопка3_Click()

Dim db As Database, rst, rst2 As DAO.Recordset, A, B As String, k As Integer

Set db = CurrentDb

Set rst = db.OpenRecordset("студенты", dbOpenDynaset)

snp.SetFocus

A = snp.Text

k = 0

Do Until rst.EOF

If (rst.Fields("н_паспорта").Value = A) Then

rst.Delete

k = 1

End If

rst.MoveNext

Loop

If k = 0 Then

MsgBox ("Вы не ввели  номер паспорта удаляемого студента!")

End If

snp.SetFocus

snp.Value = Null

DoCmd.Close

stDocName = "form3p"

    DoCmd.openform stDocName, , , stLinkCriteria

End Sub

 

Private Sub Кнопка4_Click()

snp.SetFocus

snp.Value = Null

DoCmd.Close

    stDocName = "form3p"

    DoCmd.openform stDocName, , , stLinkCriteria

End Sub

 

ДобавТему   ‘’добавление темы

 

Private Sub Кнопка5_Click()

Dim stDocName As String

Dim stLinkCriteria As String

nl.SetFocus

nl.Value = Null

l.SetFocus

l.Value = Null

DoCmd.Close

stDocName = "form3p"

DoCmd.openform stDocName, , , stLinkCriteria

End Sub

 

Private Sub Кнопка6_Click()

Dim stDocName As String

Dim stLinkCriteria As String

Dim db As Database, rst As DAO.Recordset, k As Integer

Set db = CurrentDb

Set rst = db.OpenRecordset("темы", dbOpenDynaset)

rst.MoveLast

k = rst.RecordCount

If (l.Value = Empty) Or (IsNull(l.Value) = True) Or (nl.Value = Empty) Or (IsNull(nl.Value) = True) Then

MsgBox ("Будьте так добры,  заполните пустые поля!")

Else

rst.AddNew

rst.Fields("н_темы").Value = k + 1

nl.SetFocus

rst.Fields("наим_темы").Value = nl.Text

l.SetFocus

rst.Fields("лекция").Value = l.Text

rst.Update

MsgBox ("Добавлено!")

stDocName = "form3p"

DoCmd.openform stDocName, , , stLinkCriteria

nl.SetFocus

nl.Value = Null

l.SetFocus

l.Value = Null

End If

End Sub

 

РедТему    ‘’редактирование темы

Option Compare Database

Dim nomertem, try As String

Dim db As Database, vopr, vne, otv As DAO.Recordset

Dim stDocName As String

Dim stLinkCriteria As String

 

Private Sub pspnt_click() 'выбор темы...

nomertem = pspnt.Value

End Sub

 

Private Sub Кнопка4_Click() 'vernytsa

Dim stDocName As String

Dim stLinkCriteria As String

o1.SetFocus

o1.Value = Null

o2.SetFocus

o2.Value = Null

o3.SetFocus

o3.Value = Null

o4.SetFocus

o4.Value = Null

tf1.SetFocus

tf1.Value = Null

tf2.SetFocus

tf2.Value = Null

tf3.SetFocus

tf3.Value = Null

tf4.SetFocus

tf4.Value = Null

vopros.SetFocus

vopros.Value = Null

DoCmd.Close

stDocName = "form3p"

DoCmd.openform stDocName, , , stLinkCriteria

End Sub

 

Private Sub Кнопка5_Click() 'dobav

Dim kvop, kotv, kvne, nm As Integer

Set db = CurrentDb

Set vopr = db.OpenRecordset("вопросы", dbOpenDynaset)

Set otv = db.OpenRecordset("ответы", dbOpenDynaset)

Set vne = db.OpenRecordset("вывод_на_экран", dbOpenDynaset)

vne.MoveFirst

Do Until vne.EOF

If (vne.Fields("н_темы").Value = nomertem) Then '' неверно описано , надо что-то  придумать..

Set sl = db.OpenRecordset("select distinct [н_вопроса] from [вывод_на_экран] where [н_темы] like '" & nomertem & "'", dbOpenDynaset)

sl.MoveLast

nm = sl.RecordCount + 1

sl.MoveFirst

Else

nm = 1

End If

vne.MoveNext

Loop

vopr.MoveLast

kvop = vopr.RecordCount

otv.MoveLast

kotv = otv.RecordCount

vne.MoveLast

kvne = vne.RecordCount

vopr.MoveFirst

otv.MoveFirst

vne.MoveFirst

 

If (vopros.Value = Empty) Or (IsNull(vopros.Value) = True) Or (o1.Value = Empty) Or (IsNull(o1.Value) = True) Or (o2.Value = Empty) Or (IsNull(o2.Value) = True) Or (tf1.Value = Empty) Or (IsNull(tf1.Value) = True) Or (tf2.Value = Empty) Or (IsNull(tf2.Value) = True) Or (o3.Value = Empty) Or (IsNull(o3.Value) = True) Or (o4.Value = Empty) Or (IsNull(o4.Value) = True) Or (tf1.Value = Empty) Or (IsNull(tf1.Value) = True) Or (tf2.Value = Empty) Or (IsNull(tf2.Value) = True) Or (tf3.Value = Empty) Or (IsNull(tf3.Value) = True) Or (tf4.Value = Empty) Or (IsNull(tf4.Value) = True) Then

MsgBox ("УПС! заполните  все поля и выберите правильный-неправильный  ответы")

Else

otv.AddNew

otv.Fields("н_ответа").Value = kotv + 1

o1.SetFocus

otv.Fields("ответ").Value = o1.Text

otv.Update

otv.AddNew

otv.Fields("н_ответа").Value = kotv + 2

o2.SetFocus

otv.Fields("ответ").Value = o2.Text

otv.Update

otv.AddNew

otv.Fields("н_ответа").Value = kotv + 3

o3.SetFocus

otv.Fields("ответ").Value = o3.Text

otv.Update

otv.AddNew

otv.Fields("н_ответа").Value = kotv + 4

o4.SetFocus

otv.Fields("ответ").Value = o4.Text

otv.Update

 

vne.AddNew

vne.Fields("кп").Value = kvne + 1

vne.Fields("н_темы").Value = nomertem

vne.Fields("н_вопроса").Value = nm

vne.Fields("н_ответа").Value = kotv + 1

vne.Update

vne.AddNew

vne.Fields("кп").Value = kvne + 2

vne.Fields("н_темы").Value = nomertem

vne.Fields("н_вопроса").Value = nm

vne.Fields("н_ответа").Value = kotv + 2

vne.Update

vne.AddNew

vne.Fields("кп").Value = kvne + 3

vne.Fields("н_темы").Value = nomertem

vne.Fields("н_вопроса").Value = nm

vne.Fields("н_ответа").Value = kotv + 3

vne.Update

vne.AddNew

vne.Fields("кп").Value = kvne + 4

vne.Fields("н_темы").Value = nomertem

vne.Fields("н_вопроса").Value = nm

vne.Fields("н_ответа").Value = kotv + 4

vne.Update

 

If tf1 = "да" Then

try = kotv + 1

End If

If tf2 = "да" Then

try = kotv + 2

End If

If tf3 = "да" Then

try = kotv + 3

End If

If tf4 = "да" Then

try = kotv + 4

End If

vopr.AddNew

vopr.Fields("н_вопроса").Value = kvop + 1

vopr.Fields("н_темы").Value = nomertem

vopros.SetFocus

vopr.Fields("вопрос").Value = vopros

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

vopr.Update

MsgBox ("эта кнопка,едрить  её через колено, сработала!")

End If

o1.SetFocus

o1.Value = Null

o2.SetFocus

o2.Value = Null

o3.SetFocus

o3.Value = Null

o4.SetFocus

o4.Value = Null

tf1.SetFocus

tf1.Value = Null

tf2.SetFocus

tf2.Value = Null

tf3.SetFocus

tf3.Value = Null

tf4.SetFocus

tf4.Value = Null

vopros.SetFocus

vopros.Value = Null

stDocName = "form3p"

DoCmd.openform stDocName, , , stLinkCriteria

End Sub

 

Чр    ‘’чистка результатов

Option Compare Database

Dim A As String

Dim stDocName As String

Dim stLinkCriteria As String

Dim snpa As String

Dim osh, p As String

Dim db As Database

Dim ysl, sch, yk As Integer

Dim st, rez, tem As DAO.Recordset

Private Sub Form_Load()

Set db = CurrentDb

Set st = db.OpenRecordset("студенты", dbOpenSnapshot)

Set rez = db.OpenRecordset("результаты", dbOpenDynaset)

Set tem = db.OpenRecordset("темы", dbOpenSnapshot)

'If (rez.Fields("дата").Value = Empty) Or ((IsNull(rez.Fields("дата").Value)) = True) Then

rez.MoveLast

ysl = rez.RecordCount

sch = 0

rez.MoveFirst

snp.SetFocus

snp.Value = rez.Fields("н_паспорта").Value

dat.SetFocus

dat.Value = rez.Fields("дата").Value

ozz.SetFocus

ozz.Value = rez.Fields("результат").Value

t.SetFocus

t.Value = rez.Fields("н_темы").Value

snp.SetFocus

osh = snp.Text

Do Until st.EOF

If st.Fields("н_паспорта").Value = osh Then

im.SetFocus

im.Text = st.Fields("имя").Value

fam.SetFocus

fam.Text = st.Fields("фамилия").Value

gr.SetFocus

gr.Text = st.Fields("н_группы").Value

End If

st.MoveNext

Loop

t.SetFocus

p = t.Text

Do Until tem.EOF

If tem.Fields("н_темы").Value = p Then

t.Value = tem.Fields("наим_темы").Value

End If

tem.MoveNext

Loop

End Sub

 

Sub Кнопка16_Click() 'del

Dim ol As String

Set db = CurrentDb

Set st = db.OpenRecordset("студенты", dbOpenSnapshot)

Set rez = db.OpenRecordset("результаты", dbOpenDynaset)

 

  rez.Delete

  rez.MoveNext

If rez.EOF Then

rez.MoveFirst

Else

rez.MoveNext

End If

 

sch = sch + 1

snp.SetFocus

snp.Text = rez.Fields("н_паспорта").Value

dat.SetFocus

dat.Value = rez.Fields("дата").Value

ozz.SetFocus

ozz.Value = rez.Fields("результат").Value

t.SetFocus

t.Value = rez.Fields("н_темы").Value

snp.SetFocus

osh = snp.Text

Do Until st.EOF

If st.Fields("н_паспорта").Value = osh Then

im.SetFocus

im.Text = st.Fields("имя").Value

fam.SetFocus

fam.Text = st.Fields("фамилия").Value

gr.SetFocus

gr.Text = st.Fields("н_группы").Value

End If

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