Access 2002

Метод главной формы Undo


Прежде всего он вызывает метод главной формы Undo, чтобы отменить изменения, внесенные в ее текущую запись. (Возможно, вы захотите, чтобы эта кнопка отменяла только изменения в подчиненной форме. Тогда этот оператор нужно удалить, как и обработчик события главной формы Di rty.) Далее процедура проверяет, выполняется ли в данный момент транзакция (на всякий случай, потому что вне транзакции кнопка Cancel Changes недоступна), и выполняет ее откат. После этого она перемещает фокус с кнопки на другой элемент управления формы, чтобы кнопку можно было сделать недоступной, и вызывает процедуру ResetData, чтобы обновить данные подчиненной формы и начать новую транзакцию.

Мы пытались универсализировать технологию организации транзакций в подчиненной форме, чтобы предложить вам решение plug-and-play, но у нас ничего не вышло. Для создания подобного компонента требуются значительные усилия, и он все равно не получается универсальным, а подходит лишь для определенных случаев. Так что мы решили ограничиться примером, который вы можете изучить и модифицировать для собственных нужд.

Главное понять, как решать задачи, обсуждавшиеся в этом разделе. Вполне возможно, что вы столкнетесь и с другими проблемами, поскольку наш пример очень прост. Мы предлагаем вам начать с создания пары форма/подчиненная форма, связанной посредством свойств LinkChildFields и LinkMasterFields. Когда все заработает так, как нужно, очистите эти свойства и свяжите формы программным путем. И только снова убедившись, что все в порядке, можно будет обеспечить поддержку транзакций.

Дескрипторы окон, классы окон и многодокументный интерфейс

Почти вся оставшаяся часть этой главы посвящена работе с формами и окнами Access. Нам предстоит отвлечься от представляемых в формах данных и посвятить некоторое время самим формам. Для их оптимального использования необходимо иметь хотя бы общее представление о таких базовых элементах Windows, как дескрипторы, классы и отношения между родительскими и дочерними окнами. Без понимания этих концепций вам будет трудно разобраться в типах форм, поддерживаемых Access.

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