Access 2002

Основная работа над объектом accessobject


Скорее всего, эта пара методов появилась уже после того, как основная работа над объектом AccessObject была завершена, а его структура более не подлежала изменению. Для вас это хороший урок: если вы разрабатываете собственные объекты, продумывайте их структуру заранее и самым тщательным образом, чтобы в конце не пришлось добавлять в объектную модель такие странные элементы.

Объект не включается в список в следующих ситуациях:

он является скрытым, а пользователь не хочет отображать такие объекты;

он является системным, а пользователь не хочет отображать такие объекты.

Рассмотрим вторую ситуацию. Нам нужно проверить флаг fShowsystem и выяснить, является ли объект системным. Эти два условия дают четыре возможные комбинации, описанные в  5.14.

Из таблицы видно, что объект не следует включать в список только в том случае, если он является системным и пользователь не хочет отображать подобные объекты. Для выполнения такой проверки потребовалось бы сложное логическое выражение, однако Access позволяет сделать это с помощью единственной логической операции.

Результат операции Imp (импликация), в которой участвуют два операнда, всегда равен True, за исключением случая, когда значение первого операнда равно True, а второго — False. Возможные результаты этой операции совпадают с указанными в предыдущей таблице. Если учесть, что первая колонка этой таблицы содержит значение переменной fSystemObj, а вторая — fShowSystem, то посредством выражения fSystemObj Imp fShowSystem

можно определить, включать ли в список данных объект на основании того, что он системный. Следовательно, для проверки обоих критериев (учитывая и то, является ли объект скрытым) можно использовать выражение

If (fSystemObj Imp fShowSystem) And And (flsHiddenj Imp fShowHidden) Then

возвращающее True, если все его операнды возвращают True.

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