Почему следует использовать запросы вместо вычисляемых полей для таблиц доступа

Поделись сейчас:

В статье объясняется, почему пользователям следует избегать использования cвычисляемые поля в базе данных и вместо этого использовать запросы.

MS Access позволяет своим пользователям создавать вычисляемые столбцы (тип поля) в табличном оформлении для выполнения различных вычислений, но чаще нарушает правила нормализации. Поэтому рекомендуется использовать запросы вместо вычисляемых полей. В этой статье этот момент будет подробно рассмотрен.

Вычисляемые поля в MS Access

Создавайте запросы в MS Access вместо вычисляемых полейВычисляемые поля являются неотъемлемой частью электронной таблицы и предназначены для помощи пользователям в эффективной разработке приложений. Но в соответствии с правилом нормализации не рекомендуется хранить значения, которые зависят от других полей, чтобы избежать путаницы и неправильности. Вычисляемых полей, несмотря на то, что они удобны и просты в использовании, следует избегать, поскольку они не могут вызывать определяемые пользователем функции, поскольку они запрограммированы только для запуска встроенных функций. Access не позволяет включать в вычисляемые поля поля из других таблиц или запросов. Пользователям также необходимо указать все остальные параметры, чтобы избежать ошибок. Также стоит учитывать, что результаты вычисляемых полей вычисляются только тогда, когда они генерируются во время выполнения, т.е. в момент выполнения запроса или отчета на основе запроса.

Следует отметить, что версии Access до MS Access 2010 не могли работать с таблицами, что ограничивало его использование. Надежность вычисляемых полей сравнительно низка, так как результаты едва ли корректно обновляются при изменении выражения после ввода данных в таблицу. Это основные причины, по которым следует избегать вычисляемых полей.

Запросы

Создание запросов в Ms AccessЗапросы являются лучшей альтернативой вычисляемым полям, поскольку они не сохраняют значение в таблице. Запросы полезны для автоматизации задач управления данными и проверки изменений. Запросы можно создавать с помощью мастера запросов или в представлении «Дизайн».

Давайте рассмотрим пример двух полей, Quantity и UnitC.ost, где пользователю нужно выражение Quantity * UnitCost в другое поле «Сумма». Поэтому вместо использования полей Calculate пользователь должен создать запрос на основе таблицы. Они могут ввести выражение в строке «Поле» дизайна запроса, и оно может быть записано следующим образом.

Amount: [Quantity] * [UnitCost]

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

Сохранение вычисленного результата

Есть также несколько случаев, когда пользователи чувствуют необходимость сохранить другое значение и некоторые гибкие правила. Однако это можно сделать с помощью события After Update, которое позволит пользователям переопределить расчет и ввести другое значение в соответствии со своими предпочтениями.

В версии MS Access 2010 можно выбрать тип вычисляемых данных, который будет отображать выражение. Пользователи могут ввести это выражение (например, [Количество]*[Цена за единицу]), и Access будет выполнять вычисления каждый раз, когда пользователь вводит запись. Проблема с этой функцией заключается в том, что существует ограниченное количество выражений, что ограничивает пользователей в использовании ее в реальных целях.

Как пользователь Access, вы всегда должны быть готовы к инцидентам с повреждением данных. Если вы столкнулись с таким сценарием, не стесняйтесь вызывать мощный инструмент, такой как DataNumen Access Repair в исправить mdb файлы.

Об авторе:

Вивиан Стивенс — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановить sql и программные продукты для восстановления Excel. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.