Автоматическая
подстановка значения в поле ввода
Частсг для
заполнения некоторых полей таблиц требуется вычислить выражение на основе данных
в других полях этой таблицы и, возможно, связанных с ней таблиц. Чтобы при вводе
данных не вычислять это значение каждый раз самостоятельно, требуется создать
форму для ввода данных, выполняющую необходимые вычисления автоматически. Это
позволит застраховаться от ошибок при вычислениях и сократит время ввода данных.
Представим
себе такой пример. Есть таблица "Товары" со списком товаров, где для
каждого товара указана его цена (таблица содержит поля "НаименованиеТовара"
и "Цена", и первое поле является ключевым). Есть другая таблица "Заказы"
со списком заказов на эти товары, содержащая информацию о типе и количестве
заказанного товара (поля "НаименованиеТовара" и "Количество"),
а также о его стоимости (поле "Сумма"). Таблица "Заказы"
связана с таблицей "Товары" по полю "НаименованиеТовара"
отношением "один-ко-многим". Требуется создать форму для добавления
новых заказов так, чтобы при выборе необходимого товара из предложенного списка
и после ввода заказанного количества в поле "Сумма" автоматически
подставлялось значение стоимости всего заказа для данного товара.
Для решения
поставленной задачи требуется выполнить следующие действия:[
Реализация этого
примера — небольшая база данных Заказы.mdb — есть на компакт-диске, который
является дополнительным приложением к комплекту книг о Microsoft Office 2002
издательства "БХВ-Петербург" и распространяется отдельно.
]
Замечание
Это можно выполнить с помощью окна Список полей (Filed List) (см. гл. 5), предварительно указав в режиме Конструктора таблицы "Заказы" для поля "НаименованиеТовара" на вкладке Подстановка (Lookup) значение Поле со списком (Combo Box) для свойства Тип элемента управления (Display Control) и имя таблицы "Товары" в качестве значения свойства Источник,строк (Row Source).
Private Sub Количество_А£terUpdate()
Сумма = Цена * Количество
End Sub
Таким образом,
после ввода значения в поле "Количество" в поле "Сумма"
будет автоматически подставлена вычисленная стоимость заказа. А поскольку поле
"Сумма" является присоединенным к одноименному полю в таблице "Заказы",
вычисленное значение автоматически попадет в таблицу.
Совет
Не всегда вычисляемые значения требуется сохранять в самих таблицах. Чаще всего достаточно только отобразить результат вычисления в вычисляемом поле формы или запроса для информирования пользователя. Ведь это значение можно вычислить в любой момент на основе данных, хранящихся в таблицах, и не потребуется выполнять проверку на правильность сохраненного значения при изменении значений полей, использованных в его вычислении, в других формах или непосредственно в таблице (см. также разд. "Создание вычисляемых полей" данной главы и разд. "Вычисления на выделенных данных таблицы" гл. 8).