Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
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 с.) |