If rstSpisok.EOF Or rstSpisok.BOF Then 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

If rstSpisok.EOF Or rstSpisok.BOF Then



txtFam.Text = ""

txtName.Text = ""

txtOtch.Text = ""

txtGrup.Text = ""

Exit Sub

End If

txtFam.Text = rstSpisok.Fields("Familie").Value

txtName.Text = rstSpisok.Fields("Imja").Value

txtOtch.Text = rstSpisok.Fields("Otch").Value

txtGrup.Text = rstSpisok.Fields("Grup").Value

End Sub

 

Теперь запрограммируем работу навигатора. Создайте следующий программный код.

 

Private Sub cmbFirst_Click()

RstSpisok.MoveFirst

FormRefresh

End Sub

Private Sub cmbLast_Click()

RstSpisok.MoveLast

FormRefresh

End Sub

Private Sub cmbNext_Click()

RstSpisok.MoveNext

If rstSpisok.EOF Then rstSpisok.MovePrevious

FormRefresh

End Sub

Private Sub cmbPrew_Click()

RstSpisok.MovePrevious

If rstSpisok.BOF Then rstSpisok.MoveNext

FormRefresh

End Sub

 

Кнопки будут отвечать за переход по записям таблицы. Чтобы при запуске формы отображалась первая по порядку запись, введите программный код.

 

Private Sub Form_Activate()

RstSpisok.MoveFirst

FormRefresh

End Sub

 

Сохраните проект. Запустите приложение и проверьте работу навигатора.

Теперь запрограммируем работу с записями таблицы. Реализуем на примере данной лабораторной работы функции защиты приложения от неправильных действий пользователя. Как правило, для этого приложение программируют так, чтобы пользователь в каждый конкретный момент работы программы мог нажимать кнопки и редактировать данные только доступные в данный момент. Измените предыдущую процедуру и добавьте новые.

 

Private Sub Form_Activate()

fl = False

RstSpisok.MoveFirst

FormRefresh

cmbAdd.Enabled = True

cmbEdit.Enabled = True

cmbDel.Enabled = True

cmbSave.Enabled = False

cmbCancel.Enabled = False

txtFam.Locked = True

txtName.Locked = True

txtOtch.Locked = True

txtGrup.Locked = True

End Sub

Private Sub cmbAdd_Click()

fl = True

cmbAdd.Enabled = False

cmbEdit.Enabled = False

cmbDel.Enabled = False

cmbSave.Enabled = True

cmbCancel.Enabled = True

txtFam.Text = ""

txtName.Text = ""

txtOtch.Text = ""

txtGrup.Text = ""

txtFam.Locked = False

txtName.Locked = False

txtOtch.Locked = False

txtGrup.Locked = False

End Sub

Private Sub cmbCancel_Click()

RstSpisok.MoveFirst

FormRefresh

cmbAdd.Enabled = True

cmbEdit.Enabled = True

cmbDel.Enabled = True

cmbSave.Enabled = False

cmbCancel.Enabled = False

txtFam.Locked = True

txtName.Locked = True

txtOtch.Locked = True

txtGrup.Locked = True

End Sub

Private Sub cmbSave_Click()

If txtFam = "" Then

MsgBox ("Укажите фамилию студента!!!")

TxtFam.SetFocus

End If

If txtName = "" Then

MsgBox ("Укажите имя студента!!!")

TxtName.SetFocus

End If

If txtOtch = "" Then

MsgBox ("Укажите отчество студента!!!")

TxtOtch.SetFocus

End If

If txtGrup = "" Then

MsgBox ("Укажите группу студента!!!")

TxtGrup.SetFocus

End If

If fl = True Then

RstSpisok.AddNew

Else

RstSpisok.Edit

End If

rstSpisok.Fields("Familie").Value = txtFam.Text

rstSpisok.Fields("Imja").Value = txtName.Text

rstSpisok.Fields("Otch").Value = txtOtch.Text

rstSpisok.Fields("Group").Value = txtGrup.Text

RstSpisok.Update

If fl = True Then rstSpisok.MoveLast

FormRefresh

cmbAdd.Enabled = True

cmbEdit.Enabled = True

cmbDel.Enabled = True

cmbSave.Enabled = False

cmbCancel.Enabled = False

txtFam.Locked = True

txtName.Locked = True

txtOtch.Locked = True

txtGrup.Locked = True

End Sub

Private Sub cmbEdit_Click()

fl = False

cmbAdd.Enabled = False

cmbEdit.Enabled = False

cmbDel.Enabled = False

cmbSave.Enabled = True

cmbCancel.Enabled = True

txtFam.Locked = False

txtName.Locked = False

txtOtch.Locked = False

txtGrup.Locked = False

End Sub

Private Sub cmbDel_Click()

If MsgBox("Действительно удалить текущую запись?", vbYesNo, "Внимание!") = vbYes Then

RstSpisok.Delete

RstSpisok.MoveFirst

FormRefresh

End If

End Sub

 

Переменную fl необходимо объявить, поместив следующую строку в самое начало программного кода (до всех процедур):

 

Dim fl As Boolean

 

Сохраните проект. Проверьте работу приложения. Обратите внимание, что при нажатии кнопки Удалить в тексте программы мы производим удаление только записи о студенте из таблицы Spisok, однако, благодаря тому, что в самой БД между таблицами установлены связи и включены настройки каскадного обновления и каскадного удаления, будут удаляться также данные об оценках удаляемого студента, т.е. все связанные с ним по коду записи.

 

На следующем этапе отредактируем созданное приложение так, чтобы одновременно с данными о студентах отображались их оценки. Разместите на форме объект ListBox (lstOcenki). Измените процедуру FormRefresh.

 

Public Sub FormRefresh()

Dim rstOcenki As Recordset

Dim strSQL As String



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 106; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.140.108 (0.015 с.)