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

Частсг для заповнення деяких полів таблиць потрібно обчислити вираз на основі даних в інших полях цієї таблиці і, можливо, пов'язаних з нею таблиць. Щоб при введенні даних не обчислювати це значення кожен раз самостійно, потрібно створити форму для введення даних, що виконує необхідні обчислення автоматично. Це дозволить застрахуватися від помилок при обчисленнях і скоротить час введення даних.

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

  1. Створіть запит, що містить поле "Ціна" з таблиці "Товари" і все поля з таблиці "Замовлення". Збережіть його з ім'ям "Замовлено".
  2. Створіть форму "Замовлення" на основі запиту "Замовлено".
  3. Помістіть в форму елемент управління Список, пов'язаний з полем "НаіменованіеТовара" джерела даних форми.

Це можна виконати за допомогою вікна Список полів (Filed List) (див. Гл. 5), попередньо вказавши в режимі Конструктора таблиці "Замовлення" для поля "НаіменованіеТовара" на вкладці Підстановка (Lookup) значення Поле зі списком (Combo Box) для властивості Тип елемента керування (Display Control) і ім'я таблиці "Товари" в якості значення властивості Джерело, рядків (Row Source).

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

Сума = Ціна * Кількість End Sub

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

Не завжди обчислювані значення потрібно зберігати в самих таблицях. Найчастіше досить тільки відобразити результат обчислення в обчислюваному поле форми або запиту для інформування користувача. Адже це значення можна обчислити в будь-який момент на основі даних, що зберігаються в таблицях, і не буде потрібно виконувати перевірку на правильність збереженого значення при зміні значень полів, використаних в його обчисленні, в інших формах або безпосередньо в таблиці (див. Також розд. "Створення обчислюваних полів "даної глави і розд." Обчислення на виділених записах таблиці "гл. 8).

Схожі статті