MS Access | Управление свойствами контроловСкачать пример в zip: ControlProperty.zipСкачать пример в mdb: ControlProperty.mdb |
Некоторые свойства контролов:
➢Видимый/невидимый контрол: ControlName.Visible = True/False
➢Текст контрола: ControlName.Caption = "Текст"
Примеры применения
Свойствами контролов можно управлять для решения множества задач, например для разных пользователей показывать (или скрывать) какие-то кнопки или текст-боксы разные пользователи – разные права() или, например, для разных пользователей выдавать формы на разных языках или присваивать полям какие-то значения и так далее.
Пример: предположим, что необходимо в базе данных иметь возможность переключать язык русский или английский (управление свойством контрола Caption).
Разместим на форме кнопку-переключатель языка, например:
Нажимая на кнопку "Русский" (назовем ее, например Language (Property: Name)) нужно, чтобы тексты всех меток, тексты кнопок и т.п. переводились бы на русский язык. В нашем случае переведем метку "Project 1" (назовем ее, например Label1_Project1) в "Проект 1", а кнопку "Русский" перевернем в "English".
Итого, на событие клик кнопки Language пишем: если текст кнопки Language = "Русский", то текст этой кнопки перевернем в "English" и текст метки Label_Project1 в "Проект 1". Если текст кнопки = "English", то все наоборот:
Private Sub Language_Click() 'если текст кнопки = 'Русский' If Me.Language.Caption = "Русский" Then Me.Language.Caption = "English" Me.Label_Project1.Caption = "Проект 1" Exit Sub End If 'если текст кнопки = 'English' If Me.Language.Caption = "English" Then Me.Language.Caption = "Русский" Me.Label_Project1.Caption = "Project 1" Exit Sub End If End Sub
Чтобы "передать" знание о выбранном языке другой форме мы можем открывать следующие формы с указанием передаваемого параметра открытия форм – OpenArgs (см. передаваемые параметры открытия формы).
Для этого на клик кнопки с меткой Project 1 пропишем команду: DoCmd.OpenForm "frmProject1", , , , , , Me.Language.Caption
где последним параметром является OpenArgs, которому присваиваем значение текста кнопки Language.
На событие On Open формы frmProject1 можно прописать условие, например:
Private Sub Form_Open(Cancel As Integer) If Me.OpenArgs = "Русский" Then Me.Label1.Caption = "Имя" Me.Label3.Caption = "Фамилия" Else Me.Label1.Caption = "First Name" Me.Label3.Caption = "Last Name" End If End Sub
|