для чего предназначены экранные формы
СУБД Microsoft Office Access
Разработка экранных форм для работы с базой данных
На полученной форме не все надписи полностью видны, расположение полей тоже можно улучшить.
Все свойства в окне разбиты на группы:
Кроме того, на форме могут присутствовать и другие объекты, которые можно добавлять, используя кнопки Панели элементов (рис. 7.15.), список типов объектов приведен ниже.
Для использования экранной формы нужно запустить ее в работу. Для этого закроем окно конструктора и выберем команду Открыть формы Студенты. Вид формы при работе с базой данных приведен на рис. 7.17.
В данном режиме можно редактировать существующие записи, добавлять новые в список студентов и список оценок для каждого студента. Для удаления записей можно добавить с помощью Мастера кнопку категории Обработка записей с действием Удалить запись на основную форму.
При работе с формой можно задать сортировку записей по одному из полей и фильтр для показа только тех данных, которые соответствуют заданному условию (см. раздел Записи меню системы Access ).
Как было сказано выше, для данной формы можно сделать значительные усовершенствования, повышающие удобства работы с базой данных.
Прежде всего, в Конструкторе изменим расположение полей и расширим надписи.
Далее добавляем на форму объекты Поле со списком для выбора из справочных таблиц специальности (с занесением соответствующего номера в главную таблицу) и предмета (с занесением его номера из справочника в таблицу оценок). Эти основные свойства описываются с помощью Мастера, который запускается автоматически при добавлении этого типа объекта к форме.
После всего этого форма будет иметь в Конструкторе вид, приведенный на рис. 7.18.
В режиме работы с базой данных в усовершенствованной форме можно видеть названия факультетов, специальностей, предметов и выбирать их из справочных таблиц с помощью раскрывающихся списков (рис. 7.19.).
Конспект по дисциплине БД на тему «Назначение и способы создания экранных форм»
Ищем педагогов в команду «Инфоурок»
Назначение и способы создания экранных форм
Как правило, формы используются для отображения ответов на запросы пользователя, записи данных в таблицы и/или изменения этих данных при их вводе либо корректировке.
В Access формы можно создавать разными способами:
помощью Мастера форм;
построение разнообразных форм с помощью запросов;
расширение форм за счет включения в них диаграмм, картографических данных, рисунков.
Использование режима Автоформы.
Таким способом можно создать форму, отображающую все поля и записи базовой таблицы или запроса. Если у базовой таблицы есть подчиненная таблица, одна или несколько, то в форму при определенных условиях будут включены все ее (их) поля.
В окне диалога базы данных перейти в раздел Объекты ( Objects ) и выбрать пункт Формы ( Forms );
Щелкнуть мышью по кнопке панели инструментов;
В раскрывшемся окне диалога Новая форма выбрать способ построения формы:
Автоформа в столбец ( Columnar );
Автоформа ленточная ( Tabular );
Автоформа табличная ( Datasheet ).
Выбрать таблицу/запрос, на основе которой/которого будет построена форма;
Замечание. Если у искомой таблицы имеется подчиненная, то в форме при данном способе создания связь с подчиненной таблицей не отражается.
Создание формы с помощью Мастера форм.
В отличие от Автоформы, Мастер работает более гибко.
Преимущества Мастера форм:
1. Вы можете включить в проектируемую форму произвольный набор полей из различных выбранных таблиц и запросов.
Рассмотрим эти варианты подробнее.
В окне базы данных в разделе Объекты ( Objects ) выбрать пункт Формы ( Forms );
Щелкнуть мышью по кнопке панели инструментов.
Замечание: указание имени исходной таблицы/запроса в нижнем поле окна не обязательно.
Замечание: К этому окну можно перейти из окна базы данных, выбрав вкладку Формы ( Forms ) и задав позицию Создать форму с помощью мастера ( Create form by using wizard ).
Рис. 1. Первое окно диалога Мастера форм.
Процесс создания сводится к переходу в последующие окна диалога Мастера и выбору необходимых свойств для новой формы.
Создание формы в режиме Конструктора.
Использовать Конструктор форм целесообразно для создания форм, которые не просто содержат комбинацию полей из разных таблиц, но включают какие-то уникальные элементы, причем не обязательно связанные напрямую с исходными полями. Например, в режиме Конструктора можно разработать начальную форму БД.
Для перехода в режим Конструктора форм следует:
В окне базы данных в разделе Объекты ( Objects ) выбрать пункт Формы ( Forms ).
Щелкнуть мышью по кнопке панели инструментов.
Замечание: К этому окну можно перейти из окна базы данных, выбрав вкладку Формы ( Forms ) и задав позицию Создать форму в режиме Конструктора ( Create form in Design View ).
Как уже отмечалось, режим Конструктора форм является наиболее гибким, но и наиболее трудоемким способом создания формы. В этом режиме целесообразно создавать «уникальные» элементы управления или производить настройку их свойств. Данный режим необходим при создании Главной кнопочной формы – меню приложения.
14-й час. Экранные формы
Вы уже знакомы со многими операторами языка VBA, знаете, как тестировать и отлаживать программы, умеете обрабатывать ошибки. Что дальше? Далее мы снова вернемся к задаче разработки интерфейса приложений. Мы рассмотрим создание и использование экранных форм как одной из основ пользовательского интерфейса.
В этом часе будут рассмотрены следующие вопросы.
Вставка экранных форм в приложения
В 3-м часе «Работа с элементами управления» вы узнали, как вставлять элементы управления непосредственно в рабочий лист. Этого достаточно, когда вы хотите добавить интерактивность в общении с рабочей книгой. Но в этом случае вы находитесь в среде Excel. Если же вы попытаетесь создать собственный интерфейс, независимый от окружения Excel, то вам не обойтись без экранных форм.
Для вставки экранной формы в приложение выполните следующие действия.
Рис. 14.1. Вставленная экранная форма выглядит как пустое диалоговое окно
Новая экранная форма представляет собой пустое серое окно со строкой заголовка. Это та основа, на которой пользователь может создать собственные диалоговые окна и окна других типов.
Свойства экранной формы
После задания свойства Name надо задать значение свойства Caption (Заголовок). Это тот текст, который отображается в строке заголовка формы.
В качестве примера создадим экранную форму, которая повторяет карточку гостевых расходов постояльца отеля, где есть собственный пляж, поля для гольфа, теннисный корт, бассейн и т.д. Карточка должна учитывать расходы на подобные услуги, не связанные непосредственно с проживанием в отеле.
Для установки значений свойств экранной формы выполните следующее.
Внесенный текст свойства Caption сразу появится в строке заголовка формы. Это только два, но очень важных свойства из многочисленного списка свойств экранной формы.
Рис. 14.2. Свойства можно отобразить или в алфавитном порядке, или по категориям
Выполнение экранной формы
Хотя еще никакой код не ассоциируется с нашей экранной формой, ее все равно можно выполнить. Под выполнением формы понимается вывод ее на экран в окне приложения. Выполнение формы осуществляется следующим образом.
Рис. 14.3. Выполнение экранной формы
Вы заметили, что получили подарок от Visual Basic? Вы не писали никакого кода, а в экранной форме имеется кнопка Закрыть. Интересно, как она туда попала?
Вставка элементов управления в экранную форму
Процесс вставки элементов управления в экранную форму ничем не отличается от аналогичного процесса вставки элементов управления в рабочий лист. Вы просто выбираете нужный элемент управления на панели элементов и перетаскиваете его в экранную форму.
При вставке элементов управления в рабочий лист вы брали их из панели инструментов Формы. В редакторе Visual Basic аналогичная панель называется Панель элементов.
Обратитесь к 3-му часу «Работа с элементами управления», в котором описывались различные типы элементов управления.
Напомню, что мы хотим создать форму, похожую на карточку гостевых расходов. Завершенная экранная форма показана на рис. 14.4.
Рис. 14.4. Завершенная карточка гостевых расходов
Как видно из рис. 14.4, в форме использованы различные элементы управления. Чтобы вставить их в форму, выполните следующие действия.
Я знаю, что создание элементов управления довольно скучное и утомительное занятие, но через это необходимо пройти. Далее в этом часе вы познакомитесь с другими свойствами элементов управления.
Таблица 14.1. Элементы управления экранной формы
Тип элемента управления | Значения свойства Name | Значения свойства Caption |
---|---|---|
Надпись | lblGuestName | Имя гостя: |
Поле | txtGuestName | |
Надпись | lblExpenseType | Тип расходов: |
Поле со списком | lstExpenseType | |
Надпись | lblAmount | Сумма: |
Поле | txtAmount | |
Надпись | lblDate | Дата: |
Поле | txtDate | |
Рамка | fraPayment | Способ оплаты |
Переключатель | optBillToRoom | Включить в счет |
Переключатель | optCash | Наличными |
Переключатель | optCheck | Чеком |
Переключатель | optCreditCard | Кредитная карта |
Надпись | lblCardType | Тип карты: |
Поле со списком | lstCardType | |
Надпись | lblCardNumber | № карты: |
Поле | txtCardNumber | |
Надпись | lblExpires | Срок окончания |
Поле | txtExpires | |
Командная кнопка | cmdSave | Сохранить |
Командная кнопка | cmdCancel | Отмена |
Рамка | fraTips | Дополнительно |
Флажок | chkTiplncluded | Включить |
Надпись | lblTipAmount | сумму: |
Поле | txtTipAmount |
Свойства элементов управления
Мы задали свойство Name для всех элементов управления и свойство Caption для некоторых из них. Теперь рассмотрим другие свойства.
Свойства командных кнопок
А сейчас мы сделаем так, чтобы командные кнопки имели одинаковые размеры.
Свойства переключателей
Для переключателей в группе Способ оплаты прежде всего надо указать, какой из них будет выбран по умолчанию. Для этого надо задать значение True для свойства Value. Установим его для первого переключателя Включить в счет. Отметим, что в группе только один переключатель может иметь значение True свойства Value.
Теперь покажем, как выровнять все переключатели по левой стороне.
Для выравнивания остальных элементов группы Способ оплаты примените описанную здесь процедуру.
Блокировка элементов управления
В нашей экранной форме есть несколько элементов управления, которые необходимы только тогда, когда выбраны другие элементы управления. Например, поле сумму потребуется только тогда, когда установлен флажок Включить. Аналогично, поля для ввода сведений о кредитной карте будут востребованы, если выбран переключатель Кредитная карта. Чтобы элементы управления были недоступны пользователю, а также отображались серым цветом (такой цвет сигнализирует о недоступности элемента), надо свойство Enabled (Разблокировка) положить равным False. Если соответствующий элемент выбран, то свойство Enabled блокированных элементов должно поменять значение на True.
Экранные подсказки к элементам управления
Задание порядка обхода элементов формы
При открытии формы будет выбран элемент, у которого значение свойства TabIndex равно 0. При нажатии клавиши управление переходит к элементу со значением 1 свойства TabIndex. При следующем нажатии клавиши будет выбран элемент, у которого свойство TabIndex имеет значение 2, и т.д. Итак, задавая последовательные значения свойству TabIndex элементов управления, можно задать порядок обхода элементов экранной формы.
Есть еще один способ задания порядка обхода элементов формы. Начните с элемента, который должен выбираться последним, и установите для свойства TabIndex этого элемента значение 0. Затем перейдите к элементу, который должен выбираться предпоследним, и его свойство TabIndex также положите равным 0. Продолжая обход в обратном порядке, не пропуская надписи и рамки, устанавливайте для всех элементов значение свойства TabIndex в 0. Таким образом вы зададите нужный порядок обхода элементов. Но как это получилось, если значение свойства TabIndex всех элементов равно 0? Если во время этой процедуры вы вернетесь к элементу, который прошли ранее, и посмотрите значение его свойства TabIndex, то увидите, что оно не равно 0. Дело в том, что, при установке в 0 этого свойства для любого элемента, у остальных элементов значение свойства TabIndex автоматически увеличивается на 1. Таким образом, у элемента, для которого первое значение TabIndex было положено равным 0, в конце описанной процедуры будет самое большое значение этого свойства.
После задания значений свойству TabIndex элементов формы прямым или обратным способом снова выполните форму и проверьте правильность обхода элементов.
Назначение быстрых клавиш элементам формы
Резюме
В этом часе мы пока создали только «форму формы», разместив на экранной форме элементы управления и задав некоторые их свойства, Далее необходимо написать процедуры, которые бы управляли экранной формой, т.е. надо автоматизировать форму. Автоматизации экранных форм будет посвящен следующий час.
Вопросы и ответы
Вопрос. В чем преимущество экранных форм по сравнению со вставкой элементов управления непосредственно в рабочий лист?
Вопрос. Сколько экранных форм можно поместить в приложение?
Ответ. Столько, сколько необходимо. Обычно, чем сложнее приложение, тем больше форм оно содержит.
Рис. 14.5. Теперь элементам управления назначены быстрые клавиши
Практикум
С помощью тестов и упражнений вы проверите, насколько хорошо усвоили изложенный материал. Ответы на вопросы смотрите в Приложении.
Тесты
Упражнение
Рис. 14.6. Создайте такую же форму в качестве упражнения
Таблица 14.2. Значения свойств
Элемент управления | Имя | Свойство Caption | Другие свойства |
---|---|---|---|
Надпись | lblTitle | Карточка гостевых расходов | Шрифт размером 20 пунктов, TextAlign = fmTextAlignCenter |
Надпись | lblCopyRight | Авторское право за мной! | ForeColor в синий цвет |
Командная кнопка | cmdOK | OK | Default = True, Cancel = True |
Для задания параметров шрифта используется свойство Font (Шрифт).
Формы
Формы в 1С:Предприятии предназначены для отображения и редактирования информации, содержащейся в базе данных. Формы могут принадлежать конкретным объектам конфигурации или существовать отдельно от них и использоваться всем прикладным решением в целом.
Например, справочник Номенклатура может иметь несколько форм, которые будут использоваться для определенных целей — редактирования элемента справочника, отображения списка и т. д.:
Наряду с этим, могут существовать общие формы, не принадлежащие конкретным объектам конфигурации — общие формы.
Основные формы
Каждый объект конфигурации может использоваться для выполнения некоторых стандартных действий. Например, для любого справочника может потребоваться отображать список его элементов, отображать отдельные элементы справочника, отображать группу справочника, выбирать элементы и группы элементов из справочника. Для любого документа список таких действий будет гораздо меньше: просмотр списка документов, выбор из списка документов и просмотр отдельного документа.
Чтобы обеспечить выполнение таких стандартных действий с данными объектов прикладного решения, для каждого из них существует набор основных форм, которые будут использоваться при выполнении соответствующих действий. Основной может быть назначена любая из форм, подчиненных этому объекту. Например, у справочника Номенклатура могут существовать следующие основные формы:
А у документа Поступление товаров и услуг состав основных форм будет уже другим:
Таким образом, если пользователь захочет посмотреть список справочника Номенклатура или список документов Поступление товаров и услуг, система откроет соответствующую форму, назначенную в качестве формы списка для этих объектов.
Автогенерируемые формы
Важной особенностью системы 1С:Предприятие 8 является механизм автогенерируемых форм. Этот механизм освобождает разработчика от необходимости создания всех возможных форм для каждого из объектов конфигурации. Разработчику достаточно добавить новый объект конфигурации, а система сама сгенерирует в нужные моменты работы пользователя необходимые формы для отображения информации, содержащейся в этом объекте.
Таким образом, разработчику нужно создавать собственные формы объектов прикладного решения лишь в том случае, если они должны иметь отличия (другой дизайн или специфическое поведение) от форм, автоматически генерируемых системой.
Связь формы с данными
Принадлежность формы тому или иному объекту конфигурации не определяет состав данных, которые отображаются в форме. То, что форма принадлежит, например, справочнику Номенклатура, позволяет назначить ее одной из основных форм для этого справочника, но никак не определяет, какие же именно данные будет отображать эта форма, и каково будет ее поведение.
Для того чтобы связать форму с данными, используются реквизиты формы, в которых указывается перечень данных, отображаемых формой. Все формы, сами по себе, имеют одинаковое поведение, независимо от того, какие данные они отображают. Однако один из реквизитов формы может быть назначен для нее основным (он выделяется жирным шрифтом), и в этом случае стандартное поведение формы и ее свойства будут дополнены в зависимости от того, какой тип имеет основной реквизит формы:
Например, если в качестве основного реквизита формы будет назначен документ Поступление товаров и услуг, то при закрытии формы система будет запрашивать подтверждение записи и проведения этого документа. Если же основным реквизитом формы назначить, скажем, справочник Номенклатура, то подобного запроса подтверждения при закрытии формы возникать не будет.
Структура формы
Основная особенность форм заключается в том, что они не нарисованы разработчиком детально, «по пикселям». Форма в конфигурации представляет собой логическое описание состава формы. А конкретное размещение элементов выполняется системой автоматически при отображении формы.
Отображаемая часть формы (видимая пользователю) описывается как дерево, включающее элементы формы.
Элементы могут представлять собой поля ввода, флажки, переключатели, кнопки и т. д. Кроме того, элемент может быть группой, включающей другие элементы. Группа может представляться как панель с рамкой, панель со страницами (закладками), собственно страница, командная панель. Помимо этого элемент может представлять собой таблицу, которая тоже включает элементы (колонки). Структура элементов описывает то, как будет выглядеть форма.
Вся функциональность формы описывается в виде реквизитов и команд. Реквизиты — это данные, с которыми работает форма, а команды — выполняемые действия. Таким образом, разработчик в редакторе формы должен включить в форму необходимые реквизиты и команды, создать отображающие их элементы формы и, если необходимо, скомпоновать элементы в группы.
На основе этого логического описания система автоматически формирует внешний вид формы для отображения пользователю. При этом системой учитываются различные свойства отображаемых данных (например, тип), чтобы максимально удобно для пользователя расположить элементы формы.
Разработчик может влиять на расположение элементов различными установками. Он может определять порядок элементов, указывать желаемую ширину и высоту. Однако это является только некоторой дополнительной информацией, помогающей системе отобразить форму.
В формах разработчик может использовать не только команды самой формы, но и глобальные команды, используемые в командном интерфейсе всей конфигурации. Кроме того, реализована возможность создания параметризуемых команд, которые будут открывать другие формы с учетом конкретных данных текущей формы. Например, это может быть вызов отчета по остаткам на том складе, который выбран сейчас в форме расходной накладной.
Механика работы форм
Редактор форм
Для создания и изменения форм разработчик может использовать редактор формы, обладающий удобными средствами графического конструирования форм различной сложности. Подробнее…
Авторы: В.А. Ажеронок, А.В. Островерх, М.Г. Радченко, Е.Ю. Хрусталева