Access 2002

Свойство объекта


Не всегда свойство объекта представляет собой просто переменную. Нередко для чтения или установки его значения нужен дополнительный программный код. (В качестве примера свойства, требующего специального кода, можно было бы создать свойство формы ParentForm, возвращающее ссылку на форму, которая была активна на момент загрузки данной формы.) В таких случаях этот код помещают в специальные процедуры Property Let/Get/Set. Процедура Property Get считывает значение свойства, процедура Property Set устанавливает значение объектного свойства, а процедура Property Let служит для установки значения простого (необъектного) свойства. (Вам уже знакомы аналогичные ключевые слова VBA — Set и Let (последнее употребляется крайне редко), служащие для установки значений объектных и обычных переменных.) Так, в нашей форме-календаре процедура Property Let устанавливает значение для свойства FirstDay, которое определяет, какой день недели считается в вашей стране первым.

Пользователь формы не вызывает процедуру Property Let явно. Вместо этого он присваивает свойству значение так, как если бы оно было встроенным свойством формы. В нашем примере значение свойству Fi rstDay присваивается следующим образом:

FormsCFrmCalendar").FirstDay – 2

Если хотите попробовать, откройте форму frmCalendar и в окне отладки введите данный оператор. Содержимое формы немедленно обновится, и первым днем недели станет понедельник.

Для создаваемого вами свойства формы можно написать обе процедуры, Property Let и Property Get, или только одну из них. Если написаны обе процедуры, тип входного значения процедуры Property Let должен точно совпадать с типом выходного значения процедуры Property Get. Например, в форму frmCalendar для свойства Value включены две процедуры:

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