Создание формы для вывода данных в форму, перехода по записям и редактирования данных.

Создайте форму с именем frmS. Расположите объекты на форме в соответствии с рисунком 18.

Создание формы для вывода данных в форму, перехода по записям и редактирования данных. - student2.ru

Рисунок 18. Вид формы frmS.

Поместите в область данных формы четыре текстовых поля. Для этого выберите левой кнопкой мыши на панели элементов ToolBox пиктограмму “аб” - Поле, затем переместите курсор на форму. В выбранном Вами месте формы, в котором будет располагаться текстовое поле, нажмите левую кнопку мыши и, не отпуская ее, задайте размер создаваемого текстового поля. Выделите поле, нажмите правую кнопку мыши и в контекстном меню выберите строку Properties (Свойства) или выполните команду менюВид | Свойства.

На вкладке Другие задайте для свойства этого поля Имя (Name) значение txtS. Закройте окно Свойства. Аналогичным образом разместите в форме остальные текстовые поля, присвоив свойству Имя этих полей значения txtSName, txtStatus, txtCity.

Выделите правой кнопкой мыши объект Надпись, который теперь располагается слева от текстового поля txtS. В окне Свойстваэтогообъектана вкладке Другиеприсвойте cвойствуИмя значение lblS. Свойству Имя остальных надписей присвойте значения lblSname, lblStatus, lblCity. Перемещение надписи происходит с помощью черного квадратика в верхнем левом углу выделенной надписи.

Добавьте на форму кнопки навигации по записям и кнопки для других операций над данными. Для кнопки перехода на первую запись в окне свойств на вкладке Макет установите значение свойства Подписьравным <<, а на вкладке Другие– значение свойства Имя равным cmdFirst.

Для остальных кнопок свойству Имя присвойте значения в соответствии с Таблицей 1, а свойству Подпись - в соответствии с Рисунком 18.

Объект Значение свойства св Name по умолчанию Значение свойства св Na Name
Форма Form1 frmS
Кнопка Кнопка0 cmdFirst
Кнопка Кнопка1 cmdLast
Кнопка Кнопка2 cmdPrivious
Кнопка Кнопка3 cmdNext
Кнопка Кнопка4 cmd Save
Кнопка Кнопка5 cmd Add
Кнопка Кнопка6 cmd Delete
Кнопка Кнопка7 cmdUndo
Кнопка Кнопка8 cmdOpenForm
Кнопка Кнопка9 cmdClose

В окно программного кода данной формы введите код:

Private Sub Form_Load()

With Me

.ScrollBars = 0 ‘Полоса прокрутки отсутствует .NavigationButtons = False ‘Кнопки навигации по записям отсутствуют

.DividingLines = False ‘Разделительные линии отсутствуют

.RecordSelectors = False ‘Область выделения отсутствует

.lblS.Caption = "Номер"

.lblSname.Caption = "Имя"

.lblStatus.Caption = "Статус"

.lblCity.Caption = "Город"

.RecordSource = "SELECT S, SName, Status, City FROM tblS"

.txtS.ControlSource = "S"

.txtSName.ControlSource = "SName"

.txtStatus.ControlSource = "Status"

.txtCity.ControlSource = "City"

End With

End Sub

Private Sub Form_Load(); - процедура загрузки формы, в результате выполнения которой в текстовые поля формы выводятся значения первой записи запроса к таблице tblS.

Конструкция With…End With ;-позволяет обращаться сразу к нескольким свойствам формы.

.lblS.Caption = "Номер"; - cвойству Caption надписи с именем lblS присвоено значение Номер.

.RecordSource = "SELECT S,SName,Status,City FROM tblS"; -источником данных формы является запрос.

Следующая строка кода означает, чтоисточником данных элемента управления txtS являются значения поля S таблицы tblS.

С помощью кнопок cmdFirst, cmdNext, cmdPrivious, cmdLast можно осуществлять переход по записям таблицы.

Добавьте в окно кода обработчик события cmdFirst_Click,который позволяет перейти на первую запись.

Private Sub cmdFirst_Click()

RecNavig acFirst

End Sub

RecNavig acFirst; - вызов процедуры RecNavig с параметром x, которая находится в стандартном модуле, и одновременное возвращение результата.

Откройте стандартный модуль(Работа с базами данных -> Visual Basic -> Insert-> Module).Присвойте модулю имя basNavig и в окно стандартного модуля поместите код:

Sub RecNavig(x)

On Error GoTo HandleErr

DoCmd.GoToRecord , , (x)

ExitHere:

Exit Sub

HandleErr:

MsgBox " Ощибка" & Err.Number & ":" & Err.Description

Resume ExitHere

End Sub

On Error GoTo HandleErr; - инструкция, которая указывает на то, что при возникновении ошибки, выполнение программы следует продолжить со строки, имеющей метку HandleErr.

DoCmd.GoToRecord , , (x); - процедура перехода на запись в соответствии со значением переданного параметра.

MsgBox " Ощибка" & Err.Number & ":" & Err.Description; - сообщение выдает номер ошибки и ее описание.

Resume ExitHere; - инструкция по очистке ошибок и продолжения выполнения программы с места, отмеченного меткой ExitHere.

Сохраните код.

Для кнопок cmdNext, cmdPrevious и cmdLast напишите процедуры обработки событий самостоятельно, используя константы Access: acNext, acPrevious и acLast.

Добавьте обработчики событийClick для кнопок cmdAdd, cmdSave, cmdDelete и cmdUndo,позволяющие добавлять, сохранять, удалять запись, а также отменять внесенные в запись изменения.

Private Sub cmdAdd_Click

On Error Resume Next'Режим игнорирования ошибок

Наши рекомендации