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