8. Визуальное редактирование формы для управления данными.В ходе этого занятия Вы продолжите практическое освоение объектов VB, создавая при этом новый компонент будущей программы – форму для работы с данными. Кроме того, Вы увидите, как можно использовать элемент управления, не входящий в состав стандартного проекта. В завершении занятия Вы сможете связывать элементы управления с базой данных. Вы, конечно, можете работать с БД с помощью VisData, Access или какого-нибудь другого процессора БД, но каждый из них, обладая долей универсальности, оказывается недостаточно удобным при работе с конкретной БД. VB предоставляет возможность проектировать и создавать собственные формы для работы с БД. Именно этим мы и займемся сейчас. Сначала спроектируем форму для работы с БД.
В настоящем занятии мы создадим одну из них. Рассмотрим структуру формы для таблицы Phones.
Подготовьтесь к работе (то есть запустите VB и откройте Ваш проект). А теперь – создаем форму для работы с таблицей Phones.
Не забудьте, сейчас Вы работаете с новой формой frmPhoneBook.
При сохранении проекта не забудьте указать, где будет находиться файл созданной формы – в Вашем каталоге C:\VB Begin. Обратите внимание, что в окне Project Browserпоявился значок вновь образованной формы. А теперь добавим к форме контрол, изначально предназначенный для работы с БД. Этот контрол так и называется – Data (Данные, не путайте с Date – Дата, в смысле дня и месяца). Этот контрол входит в стандартный набор контролов VB, и Вы можете его найти на панельке ToolBox по появляющейся при наведении курсора на значок подсказке с надписью « Data». Добавьте на форму контрол Data.
Как уже было сказано, в составе VB имеется набор стандартных элементов управления – кóнтролов, выполняющих те или иные функции. Однако VB позволяет подключать к проекту любые элементы, предназначенные для нестандартных целей. Кроме того, Вы можете самостоятельно создавать такие элементы, хотя, к сожалению, описание этого процесса выходит за пределы нашего курса. Добавление элемента к проекту производится путем выбора этого элемента в диалоговом окне Components (Компоненты). Добавим к проекту контрол для просмотра одновременно нескольких записей таблицы.
Появится окно: В списке вкладки Controls окна Components, показанной на рисунке, Вы можете найти все контролы, установленные в Вашей системе. Кнопка Browse... (Обзор…) позволит Вам найти незарегистрированные контролы. При установке флажка Selected Items Only (Только Выбранные Компоненты) в списке будут отображаться только контролы, задействованные в текущем проекте – это удобно, чтобы не искать их в числе прочих. В том же списке вкладки Controls окна Components перейдите на строку с надписью « Microsoft Data Bound Grid Control» (строку будет завершать номер, который может варьировать. У нас это номер 5.0). Название контрола означает «Связанный с Данными Элемент управления – Сетка, произведенный фирмой Microsoft».
Обратите внимание на ToolBox. Если Вы все сделали правильно, на нем появится новый значок. Если не появился – повторите процедуру добавления контрола заново и внимательно. Установили ли Вы флажок в строке с названием контрола? На ToolBox появится значок с подсказкой «DBGrid»:
Внимание! Если у Вас возникли проблемы с добавлением этого элемента на форму, и появляется сообщение об отсутствии лицензирования элемента, следует сделать следующее:
Должно появиться окно с сообщением об успешном внесении данных из файла DBGrid.reg в реестр.
Больше проблем быть не должно. Если же Вы не справились с регистрацией элемента – обратитесь к Вашему системному администратору и покажите ему этот текст. Разместите контролы на форме так: Для работы с созданным Вами файлом БД следует подключить к БД элемент управления Data. Это делается путем соответствующей установки свойств элемента. Внешний дизайн формы готов. Теперь займемся прибавлением функциональности. Самый главный контрол на форме – dtPhoneBook, от него будут зависеть все остальные (Мы намеренно не будем уточнять, что это за элемент, чтобы Вы интенсивнее вспоминали и запоминали материал). Первым шагом следует связать dtPhoneBook с файлом созданной нами БД.
Если Вы все сделали правильно, в строке свойства DatabaseName появится строка, указывающая путь к Вашей БД. Вышеописанные действия называются подключением к БД.
Так как созданная Вами БД содержит несколько таблиц, следует явно указать, с какой именно таблицей будет работать элемент.
В окне Properties перейдите на строку со свойством RecordSource (ИсточникЗаписей).
В основном работа с контролом закончена (потом мы произведем еще несколько действий, но они уже не необходимы). Многие контролы обладают способностью связываться с элементами управления данными, из стандартных элементов это: TextBox, CheckBox, Image, PictureBox и Label. Есть контролы, специально предназначенные для связывания с элементами управления данными – DBGrid, DBList, DBCombo. Последняя, 6-я версия VB включает еще несколько очень мощных контролов для работы с БД. Если бы мы нуждались лишь в выводе значений из БД, то можно было бы обойтись элементами-метками – они меньше, и программа была бы компактнее. Но нам надо иметь возможность вносить свои данные, метки этого не позволяют. Для ввода данных в общем случае используют контрол TextBox (ТекстовоеПоле). Безусловно, Вы уже видели подобные элементы в других программах. При переходе на него появляется мигающая вертикальная черта – «курсор ввода». Вы можете вводить строки с клавиатуры, выделять введенные данные с помощью мыши, манипулировать с буфером обмена. Ограничения этого контрола – текст может быть длиной до 2 кБ (а при установленном свойстве MultiLine – до 32 кБ), текст выводится только одним шрифтом, он не может включать картинки. Для наших целей эти ограничения не критичны, нам этот контрол вполне подходит. Задействуем же текстовые поля, связав их с БД.
В общем случае на форме может быть много контролов управления данными (Data), каждый из которых может быть связан с одной таблицей БД. Поэтому нам надо явно указывать, с которым из элементов Data мы будем работать.
Элемент txtNames подключен к элементу управления данными dtPhoneBook (который, в свою очередь, связан с таблицей PhoneBook базы данных C:\VB Begin\Organizer.mdb), к полю этой таблице под названием Names. Были использованы свойства:
При этом свойство DataBaseName определяет имя файла базы данных – C:\VB Begin\Organizer.mdb;
Точно так же свяжите контрол txtPhone с полем Phone. Теперь свяжем с БД контрол – Сетку.
Связывание закончено. Вопросы
Задания
|