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

Программа 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и заменить имена полей или таблиц их новыми значениями.)

 
  Подумайте дважды, прежде чем изменять структуру таблиц - student2.ru

Рис. 6.15.На рисунке в области Зависимости объектованализируется таблица Products.Отображены три таблицы, связанные с Products,и четыре запроса, использующие таблицу Products.В любой объект можно углубиться, щелкнув кнопкой мыши квадратик со знаком "плюс" (+), расположенный рядом с именем объекта. (Щелкните кнопкой мыши + рядом с именем TopProducts,чтобы выяснить, используют ли другие объекты БД данный запрос.) В конце списка находится раздел Пропущенные объекты.В нем отображен запрос на объединение CustomersAndEmployees,и это свидетельствует о том, что у программы Access нет данных о его зависимостях

Наши рекомендации