Лекция: Пример 9
В данном примере используется другой метод облегчения ввода данных путем поиска информации в некоторой записи и копирования ее данных в новую запись.
Критерий поиска записи представляет собой строку и заключен в кавычки. Сам критерий имеет форму равенства. Справа и слева от знака равенства — поле Должность. Правая Должность заключена в кавычки и в процессе поиска остается неизменной. Это название должности, которое введено в соответствующее поле новой записи.
Метод FindLast находит последнюю запись, в которой та же должность, что и только что введенная. Если запись с такой же должностью найдена, цикл For обеспечивает просмотр всех элементов управления формы. Если свойство Tag содержит единицу, выполняется присваивание свойству Value этого элемента результата вычисления выражения rst(frm(k).Name). В этом выражении используется элемент строки базового набора, найденной методом FindLast. Значение этого поля присваивается соответствующему элементу новой записи.
Пусть, например, базовая таблица имеет вид
| Преподаватель | Фамилия | Степень | Звание | Должность |
| Блохин | Ассистент | |||
| Тараканов | Д.т.н | Доцент | Профессор | |
| Комаров | К.т.н | Доцент | Доцент | |
| Бабочкин | Д.т.н | Профессор | Профессор | |
| Шмелев | К.т.н | Ст.преподаватель | ||
| К.т.н | Доцент | Доцент |
Элемент управления Должность представляет собой раскрывающийся список со свойствами:
| Имя элемента управления | Должность |
| Данные | Должность |
| Тип источника строк | Список значений |
| Источник строк | Ассистент; Ст.преподаватель; Доцент; Профессор |
| Число столбцов | |
| Заглавия столбцов | Нет |
| Связанный столбец |
У полей Степень и Звание в свойство Tag записана единица.
В новой строке из раскрывающегося списка выбрана должность «Доцент». Степень и звание автоматически вставлены из строки 3 (это последняя строка с такой должностью). В новую строку осталось ввести только номер преподавателя и фамилию.