Створення полів для обчислень 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Створення полів для обчислень



На відміну від електронних таблиць у таблицях баз даних ніколи не зберігають інформацію, яку можна одержати в результаті обчислень. Це пов’язано з тим, що здебільшого такий підхід вимагає значних витрат пам'яті й сповільнює пошук і обробку даних. Тому всі необхідні обчислення виконують у запитах, створюючи для цього спеціальні поля. Щоб створити таке поле у вільному стовпці конструктора запитів записують нове ім'я, знак “:”, а потім вираз, що обчислює необхідне значення. У виразі можна використати знаки операцій, функції, звертатися до значень інших полів. Наприклад, щоб обчислити вартість замовлення, маючи значення «СтоимостьЕдиницы» і «КоличествоЕдиниц» треба у новому стовпці записати формулу «СтоимостьЗаказа:[СтоимостьЕдиницы]*[КоличествоЕдиниц]». Імена полів бази даних записують у квадратних дужках. У формулах можна використати вбудовані функції Access. Ось деякі з них:

iif(умова; вираз1; вираз2) якщо вираз «умова» виконується, функція обчислює значення «вираз1», якщо умова не виконується — обчислює значення «вираз2». Функція iif() подібна до ЕСЛИ() в Excel.

DateDiff(“d”; дата1; дата2) знаходить різницю між двома датами, результат представляє у днях. Якщо перший аргумент дорівнює «m», різницю буде представлено у місяцях, якщо він дорівнює “y” — у роках. Повний перелік функцій та їх параметрів можна побачити у довідковій системі або у вікні «Построитель выражений». «Построитель виражений» — це спеціальний інструмент, що суттєво полегшує набір складних формул. Оскільки основні складові формули при використанні «Построителя…» набираються автоматично, використання цього інструменту суттєво знижує кількість помилок.

Ми проілюструємо використання обчислювальних полів на запиті, що відбирає й поєднує записи з двох таблиць: «Книги » і «ЧитКниги». Мета запиту — показати, які книги були видані читачам. У запиті створимо поле для обчислення з іменем «Пеня». У цьому полі буде нараховуватись пеня на кожну книгу, яка не булла повернута вчасно. Розмір пені дорівнює 1% від вартості книги за кожний прострочений день.

Переходимо на закладку «Запросы». Натискаємо кнопку «Создать». У вікні, що з’явиться, вибираємо варіант «Конструктор». Це означає, що параметри запиту будемо формувати в режимі «Конструктора…». Додаємо до запиту таблиці «Книги» й «ЧитКниги». Оскільки для вказаних таблиць було створено схему даних, її буде відображено у верхній частині вікна запиту. Якщо схеми даних не існує, створіть її. Це можна зробити прямо у вікні запиту. Нагадаємо, що ми маємо зв’язати таблиці за інвентарним номером книги (поле «Инв№ »). Тип зв’язку таблиць «Книги» та «ЧитКниги» — «один до багатьох».

До запиту включаємо такі поля: «Автор», «Название», «Стоимость», «Инв№», «Дата выдачи», «Дата возврата», «NB». Останнє поле нам знадобиться для організації зв’язку з таблицею «Читатели». Зберігаємо запит з іменем «Пример_1». У першому вільному стовпчику нижньої частини вікна створіть поле, що обчислюється, з ім'ям «Пеня». Для цього наберіть у верхньому рядку (де розташовано ім'я поля) такий текст: «Пеня: IIf([Дата возврата]< Date();DateDiff("d";[Дата возврата];Date())*0,01* [Стоимость];0)».

Для створення виразу можна використати «Построитель виражений». Натискаємо кнопку «Построить» на панелі інструментів. Відкриється вікно «Построителя…». У лівій частині вікна перелічені доступні об’єкти Access для будування формули: «Таблицы», «Запроси», «Формы», «Функції», «Отчеты» тощо. Якщо ліворуч від назви об’єкту стоїть позначка «+»(«плюс»), вказаний об’єкт має багато значень. Розкриваючи потрібні закладки, ви одержите доступ до окремих елементів поточної бази даних, з яких можна побудувати формулу. Наприклад, розкриваючи таблиці або звіти, ви можете дістатись до полів, що до них входять. Натискаючи кнопку «Вставить» об’єкт буде перенесено до спеціального вікна, де будується формула. Лишається розставити знаки операцій поміж об’єктами і завершити формулу. Детальне опанування «Постороителя выражений» ми лишаємо для самостійного опрацювання. Збережіть запит з іменем «Список1». Виконайте запит і перегляньте результат. Розмір пені, зрозуміло, залежить від поточної дати. Спробуйте змінити дату повернення книги. Переконайтесь, що сума пені також змінилась.



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 122; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.253.161 (0.004 с.)