Создание пользовательской формы

Если по каким-либо причинам встроенная форма не устраивает заказчика, то необходимо создать пользовательскую форму. Создание формы начинается с ее проектирования. Предположим, что мы хотим создать базу данных, содержащую сведения о количестве товаров, реализуемых сотрудниками фирмы ежедневно. Список сотрудников у нас уже есть, т.е. фамилию сотрудника каждый раз вводить не надо, а достаточно выбрать ее из списка. Встроенная форма не позволяет это делать, поэтому создадим пользовательскую форму для ввода информации в базу данных.

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

Рис. 2. Форма для ввода данных о количестве реализованных товаров

 

Для создания этой формы выполните следующие команды:

· Сервис-Макрос-Редактор Visual Basic, на экране появится окно Microsoft Visual Basic

· Insert(Вставка)-UserForm, на экране появится серое окно с заголовком UserForm1 (– это пустая пользовательская форма номер 1) и панель элементов ToolBox см.рис.3.


 

 

 


 

Рис. 3. Панель элементов

 

(Если панель элементов не появилась, выполните команду View-Toolbox(Вид-панель элементов) или нажмите на кнопку ToolBox(Панель элементов) на панели инструментов).

 

· Щелкните по кнопке Надпись на панели элементов и вычертите прямоугольник для надписи. Удалите надпись Label и введите надпись Дата. Аналогично подготовьте другие надписи в форме.

· С помощью кнопок Поле (TextBox), Поле со списком (ComboBox) и Кнопка (CommandButton) создайте остальные элементы в форме.

· Для изменения надписи на кнопке в форме выделите эту кнопку, вызовите окно свойств, выполнив команду View- Properties Window или нажав на кнопку Свойства (Properties Window) на панели инструментов. Окно свойств показано на рис.4.

Рис.4. Окно свойств кнопки

 

В окне свойств найдите команду Caption и щелкните справа от нее в столбце (Categorized), удалите старую и введите новую надпись, например, Oк. Аналогично, с помощью свойств формы можно изменить заголовок самой формы.

Элементы управления, созданные в пользовательской форме(полядля ввода, поле со списком и кнопки), также являются объектами VBA. Так как в одной форме можно создать несколько полей для ввода (мы, например, создали два) и несколько полей со списками, то эти поля получают порядковые номера: поле, созданное первым получает имя TextBox1; поле, созданное вторым по порядку – TextBox2. Аналогично обозначаются поля со списками, кнопки и сами формы– ComboBox1, ComboBox2, CommandButton1, CommandButton2, UserForm1, UserForm2 и т.д. Имя поля указано в окне свойств для этого поля. Оно записано в первой строке окна свойств справа от слова (Name) в столбце Cate-gorized.

При создании приложений часто используются и другие элементы управления, такие как переключатель (OptionButton) – и флажок (CheckBox) - . Переключатель считается выбранным, если в кружке стоит точка, как показано на рисунке, не выбранный переключатель выглядит так – . Флажок считается установленным, если в нем стоит галочка, как показано на рисунке, если галочки нет, то флажок сброшен.

Для обращения к любому из элементов управления в пользовательской форме необходимо задать на него ссылку. Например:

· UserForm1.TextBox2 – поле ввода номер два в первой пользовательской форме;

· UserForm1.ComboBox1 – поле со списком номер один в первой пользовательской форме;

· UserForm1.CheckBox1 – флажок номер один в первой пользовательской форме.