Статията обяснява защо потребителите трябва да избягват използването cалкулирани полета в базата данни и вместо това използват заявки.
MS Access позволява на своите потребители да създават изчислени колони (тип поле) в дизайна на таблицата, за да извършват различни изчисления, но по-често нарушава правилата за нормализиране. Ето защо се препоръчва да се използват заявки вместо изчислените полета. Тази статия ще разгледа подробно тази точка.
Изчислени полета в MS Access
Изчислените полета са неразделна част от електронната таблица и са предназначени да помогнат на потребителите ефективно да разработват приложения. Но според правилото за нормализиране не се препоръчва да се съхраняват стойности, които зависят от други полета, за да се избегне объркване и нередности. Изчислените полета, въпреки че са удобни и лесни за използване, трябва да се избягват, тъй като те не могат да извикват дефинирани от потребителя функции, тъй като са програмирани само да изпълняват вградените функции. Access не позволява изчислените полета да включват полета от различни таблици или заявки. Потребителите също трябва да предоставят всички други параметри, за да избегнат грешки. Също така си струва да се има предвид, че резултатите от изчислените полета се изчисляват само когато са генерирани по време на изпълнение, т.е. в момента на изпълнение на заявка или отчет, базиран на заявка.
Трябва да се отбележи, че версиите на Access преди MS Access 2010 не биха могли да функционират на таблиците, като по този начин ограничават използването му. Надеждността на изчислените полета е сравнително ниска, тъй като резултатите едва ли се актуализират правилно при промяна на израза след въвеждане на данни в таблицата. Това са основните причини за избягване на изчислените полета.
Заявки

Нека вземем пример за две полета, Количество и UnitCost, където Потребителят се нуждае от израза Количество * UnitCost в друго поле „Сума“. Така че вместо да използва полета за изчисляване, потребителят трябва да създаде заявка въз основа на таблицата. Те могат да въведат израза в реда на полето на дизайна на заявката и той може да бъде записан по следния начин
Amount: [Quantity] * [UnitCost]
Ще създаде друго поле, наречено Количество, което би било по-просто и по-ефективно. Формулярите и отчетите, базирани на тази заявка, ще третират изчислените полета като всеки друг запис.
Съхраняване на изчислен резултат
Има и няколко случая, в които потребителите чувстват необходимостта да съхраняват различна стойност и някои гъвкави правила. Това обаче може да се направи с помощта на събитие After Update, което ще позволи на потребителите да заменят изчислението и да въведат различна стойност според техните предпочитания.
Във версията на MS Access 2010 може да се избере тип Изчислени данни, който да показва израза. Потребителите могат да въведат този израз (да речем [Количество] * [Единична цена]) и Access ще извърши изчисленията всеки път, когато потребителят влезе в записа. Проблемът с функцията е, че има ограничени изрази, което ограничава потребителите да я използват за реални цели.
Като потребител на Access, винаги трябва да сте готови да се справите с инциденти с повреда на данните. В случай че срещнете подобен сценарий, не се колебайте да се обадите на мощен инструмент като DataNumen Access Repair да се поправям mdb файлове.
Въведение на автора:
Вивиан Стивънс е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително ремонт sql и excel софтуерни продукти за възстановяване. За повече информация посетете WWW.datanumen.com