Подумайте дважды, прежде чем изменять структуру таблиц
Программа Access проявляет удивительную смекалку при отслеживании связей запросов с конкретными таблицами. Это особенность становится актуальной, когда вы распахиваете таблицу в Конструкторедля изменения ее структуры.
Предположим, что вы переименовываете таблицу Orders(заказы) в таблицу Sales(продажи) и поле DatePlaced(дата размещения) в поле OrderDate(дата заказа). В следующий раз, когда вы запустите запрос FirstQuarterOrders_2007(см. рис. 6.6), то с удивлением обнаружите, что он все еще действует. Программа Access знает о том, что запрос FirstQuarterOrders_2007зависит от таблицы Orders.Когда вы изменяете имена в таблице, программа соответствующим образом корректирует запрос.
Access содержит отличное средство, способное проверить любой выбранный вами объект БД исообщить обо всех других объектах, которые от него зависят. Это средство можно применить для определения запросов, форм и отчетов, использующих таблицу Orders,прежде чем изменять ее. Для применения этого средства выполните следующие действия:
1. Выберите Работа с базами данных → Показать или скрыть → Зависимости объектов(Database Tools → Show/Hide → Object Dependencies). В правой части окна программы Access появляется область Зависимости объектов.(Для того чтобы скрыть ее, выберите ту же последовательность еще раз.)
2. В области переходов выберите объект БД, который вы хотите исследовать.
3. В области Зависимости объектоввыберите переключатель Объекты, зависящие от данного(Objects that depend on me), чтобы увидеть объекты, использующие данный, или переключатель Объекты, от которых зависит данный(Objects that I depend on), чтобы увидеть все объекты, которые использует данный объект.
4. В верхней части области Зависимости объектовщелкните кнопкой мыши ссылку Обновить(Refresh). В области Зависимости объектоввыводятся все соответствующие объекты, разделенные на категории в зависимости от их типа (рис. 6.15).
Программа Access не может отследить все зависимости, например, если вам нужно проникнуть в Режим SQLдля формирования запроса, который нельзя создать в режиме Конструктора.Если создается запрос на объединение (как в предыдущем примере), у Access не хватает сообразительности для того, чтобы выяснить, от каких таблиц зависит ваш запрос. Если вы изменили структуру этих таблиц, то при следующем выполнении запроса получите сообщение об ошибке, говорящее о том, что программа не может найти нужное поле или таблицу. (Для исправления ошибки необходимо снова открыть запрос в Режиме SQLи заменить имена полей или таблиц их новыми значениями.)
Рис. 6.15.На рисунке в области Зависимости объектованализируется таблица Products.Отображены три таблицы, связанные с Products,и четыре запроса, использующие таблицу Products.В любой объект можно углубиться, щелкнув кнопкой мыши квадратик со знаком "плюс" (+), расположенный рядом с именем объекта. (Щелкните кнопкой мыши + рядом с именем TopProducts,чтобы выяснить, используют ли другие объекты БД данный запрос.) В конце списка находится раздел Пропущенные объекты.В нем отображен запрос на объединение CustomersAndEmployees,и это свидетельствует о том, что у программы Access нет данных о его зависимостях