Иллюстрированный самоучитель по Access 2002

Автоматическая подстановка значения в поле ввода


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

Представим себе такой пример. Есть таблица "Товары" со списком товаров, где для каждого товара указана его цена (таблица содержит поля "НаименованиеТовара" и "Цена", и первое поле является ключевым). Есть другая таблица "Заказы" со списком заказов на эти товары, содержащая информацию о типе и количестве заказанного товара (поля "НаименованиеТовара" и "Количество"), а также о его стоимости (поле "Сумма"). Таблица "Заказы" связана с таблицей "Товары" по полю "НаименованиеТовара" отношением "один-ко-многим". Требуется создать форму для добавления новых заказов так, чтобы при выборе необходимого товара из предложенного списка и после ввода заказанного количества в поле "Сумма" автоматически подставлялось значение стоимости всего заказа для данного товара.

Для решения поставленной задачи требуется выполнить следующие действия:[

Реализация этого примера — небольшая база данных Заказы.mdb — есть на компакт-диске, который является дополнительным приложением к комплекту книг о Microsoft Office 2002 издательства "БХВ-Петербург" и распространяется отдельно.

]

Создайте запрос, содержащий поле "Цена" из таблицы "Товары" и все поля из таблицы "Заказы". Сохраните его с именем "Заказано".

Создайте форму "Заказы" на основе запроса "Заказано".

Поместите в форму элемент управления

Список,

связанный с полем "НаименованиеТовара" источника данных формы.

Замечание




Это можно выполнить с помощью окна

Список полей


(Filed List) (см. гл. 5), предварительно указав в режиме Конструктора таблицы "Заказы" для поля "НаименованиеТовара" на вкладке

Подстановка


(Lookup) значение

Поле со списком


(Combo Box) для свойства

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


(Display Control) и имя таблицы "Товары" в качестве значения свойства

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


(Row Source).

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

Для поля "Количество" в окне свойств раскройте вкладку

События


(Events). Для события

После обновления


(After Update) создайте процедуру обработки события

(см. разд. "Динамическая фильтрация данных" этой главы)

со следующим содержанием:

Private Sub Количество_А£terUpdate()

Сумма = Цена * Количество End Sub

Таким образом, после ввода значения в поле "Количество" в поле "Сумма" будет автоматически подставлена вычисленная стоимость заказа. А поскольку поле "Сумма" является присоединенным к одноименному полю в таблице "Заказы", вычисленное значение автоматически попадет в таблицу.



Совет


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

CompEbook.ru Железо, дизайн, обучение и другие


Содержание раздела