Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DAO new materials and examples.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
180.74 Кб
Скачать

Пример 8

Private Sub Form_AfterUpdate()

Dim i As Integer

For i = 0 To Me.Count - 1

If Me(i).Tag = "1" Then

Me(i).DefaultValue = """" & Me(i).Value & """"

End If

Next

End Sub

В процедуре используется форма обращения Me к форме, в модуле которой расположена данная процедура обработки события. Цикл For перебирает все элементы управления формы, пронумерованные от нуля до Me.Count - 1. У каждого элемента управления проверяется его свойство Tag (дополнительные сведения). Если в дополнительные сведения записана единица, то свойству DefaultValue (значение по умолчанию) присваивается значение Value этого элемента (Me(i)). Значением свойства DefaultValue должен быть текст. Правая часть оператора присваивания должна быть заключена в кавычки. Для представления текста в виде кавычек нужно повторить кавычки 4 раза (пара кавычек в кавычках), так как в текстовой строке для представления кавычек используют пару кавычек.

Если для поля в таблице или для элемента управления формы в режиме конструктора устанавливается свойство "Значение по умолчанию", MS Access при выводе новой записи в форме автоматически вставляет значение этого свойства в данное поле или в данный элемент. Присваивание свойству "Значение по умолчанию" в режиме конструктора полезно в том случае, если нужно использовать некоторое значение во всех новых записях или применить выражение, включаемое во все новые записи. Так, если это свойство содержит выражение =Date(), то в данном элементе управления всегда будет выводиться текущая дата. Чтобы указать, что мы имеем дело не с выражением или именем поля, обычный текст заключается в кавычки.

Процедура обработки событий Form_AfterUpdate при каждом обновлении формы проверяет свойство Tag каждого элемента управления. Чтобы текущее значение элемента управления стало значением по умолчанию, нужно перейти в режим конструктора и установить его свойство "Дополнительные сведения" в единицу. Процедура Form_AfterUpdate облегчает ввод данных в поле, значения в котором от записи в записи редко изменяются.

Пример 9

Sub Должность_AfterUpdate()

Dim rst As Recordset

Dim Критерий As String, k As Integer

Критерий = "Должность = """ & Должность & """"

Set rst = Me.RecordsetClone

rst.FindLast Критерий

If Not rst.NoMatch Then

For k = 0 To Me.Count - 1

If Me(k).Tag = "1" Then

Me(k).Value = rst (Me(k).Name)

End If

Next

End If

End Sub

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

Критерий поиска записи представляет собой строку и заключен в кавычки. Сам критерий имеет форму равенства. Справа и слева от знака равенства - поле Должность. Правая Должность заключена в кавычки и в процессе поиска остается неизменной. Это название должности, которое введено в соответствующее поле новой записи.

Метод FindLast находит последнюю запись, в которой та же должность, что и только что введенная. Если запись с такой же должностью найдена, цикл For обеспечивает просмотр всех элементов управления формы. Если свойство Tag содержит единицу, выполняется присваивание свойству Value этого элемента результата вычисления выражения rst(frm(k).Name). В этом выражении используется элемент строки базового набора, найденной методом FindLast. Значение этого поля присваивается соответствующему элементу новой записи.

Пусть, например, базовая таблица имеет вид

Преподаватель

Фамилия

Степень

Звание

Должность

1

Блохин

Ассистент

2

Тараканов

Д.т.н

Доцент

Профессор

3

Комаров

К.т.н

Доцент

Доцент

4

Бабочкин

Д.т.н

Профессор

Профессор

5

Шмелев

К.т.н

Ст.преподаватель

6

К.т.н

Доцент

Доцент

Элемент управления Должность представляет собой раскрывающийся список со свойствами:

Имя элемента управления

Должность

Данные

Должность

Тип источника строк

Список значений

Источник строк

Ассистент; Ст.преподаватель; Доцент; Профессор

Число столбцов

1

Заглавия столбцов

Нет

Связанный столбец

1

У полей Степень и Звание в свойство Tag записана единица.

В новой строке из раскрывающегося списка выбрана должность "Доцент". Степень и звание автоматически вставлены из строки 3 (это последняя строка с такой должностью). В новую строку осталось ввести только номер преподавателя и фамилию.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]