У меня есть база данных, которая отслеживает посещаемость для учащихся в школе. Есть одна таблица (SpecificClasses
) с датами всех классов и другая таблица (Attendance
) со списком всех учеников в каждом классе и их посещаемость в этот день.Использует расчетные поля в эффективности повышения доступа
Школа хочет иметь возможность просматривать эти данные различными способами и фильтровать их по многим различным параметрам. (Я не буду вставлять весь запрос здесь, потому что он довольно сложный, и детали не важны для моего вопроса.) Один из их вариантов, которые они хотят, - это просмотр посещаемости конкретного ученика в определенный день недели. Смысл, они хотят быть в состоянии заметить, если студент отсутствует каждый вторник или что-то в этом роде.
Чтобы сделать запрос возможным, я использовал DatePart("w",[SpecificClasses]![Day])
. Однако выполнение этого в каждом классе (когда мы говорим о сотнях классов, взятых одним учеником за один семестр), довольно трудоемко. Поэтому я подумывал хранить день недели вручную в таблице SpecificClasses
или, возможно, даже в таблице Attendance
, чтобы избежать объединения, и просто быть очень осторожным в своих мероприятиях, чтобы поддерживать эти данные в актуальном состоянии (что означает заполнять информацию, когда секретари вставляют новый SpecificClass или исправляют поле Day
).
Тогда мне было интересно, могу ли я просто вычислить поле, которое сохранит это значение. (В школе есть Access 2010, поэтому мне не нужно беспокоиться о совместимости). Если я создаю вычисленное поле, действительно ли Access фактически сохраняет это поле и запоминает его в будущем и не должен каждый раз пересчитывать его?
Прохладный. Я вижу, что Access 2010 имеет немало преимуществ по сравнению с 2007 годом (изначально я использовал для записи базы данных). – clum