Создаем форму для справочника «Поставщики»
Создаем новую форму File->New->Form –Delphi В инспекторе объектов устанавливаем следующие свойства для новой формы Caption -> Поставщики; FormStyle -> fsMDIChild; Name -> Form_postav_ik; Сохраните модуль с именем postav_ik. Пропишем Uses general; после раздела implementation в программном модуле unit postav_ik,а в программном модуле unit general главной формы пропишем Uses ed_izmer, product_group, postav_ik; Размещаем на форме компоненты как показано на рисунке:
Далее все делаем аналогично, как для предыдущего справочника. А я приведу лишь код для обработки событий. Для кнопки «Новая запись»
Для кнопки «Закрыть»
Для события FormActivateформыForm_postav_ik
Для события FormCloseформыForm_postav_ik
Для события FormCloseQueryформыForm_postav_ik
Внимание для более корректной работы по полю 'postav_ik_name'необходимо добавить проверку на null (т.е. в поле данные не вводились совсем). Для главной формы Form_generalпри нажатии на кнопкуКатегориипродуктов выпадающего меню
Запускаем проект и заполняем справочник данными. Вопросы для контроля
Литература
1. Фаронов В.В. Программирование на языке высокого уровня: Учебник для вузов. -СПб.: Питер, 2003. 2. Бобровский С.И. Delphi 7. Учебный курс. - СПб.: Питер, 2005. 3. Кетков Ю.Л., Кетков А.Ю. Практика программирования: Visual Basic, C++ Builder, Delphi. - СПб.: БХВ - Петербург, 2005. ЛАБОРАТОРНАЯ РАБОТА № 6 Тема: Создание подчиненной формы для справочников программы склад. Создаем справочник «Продукты» с использованием полей Lookup.
Цель: Научиться создавать справочкик используя поля Lookup
Оборудование и/или программное обеспечение: ПК, Delphi Теоретическая часть
Подстановочное поле Lookup изначально в набор данных не входит, его нужно создавать самостоятельно. Такое поле отличается от обычного тем, что показывает данные из другого набора данных. Для использования такого поля два набора данных обязательно должны иметь релятивную связь. На прошлой лекции мы применяли компонент DBLookupComboBox, который является аналогом подстановочного поля, но который нельзя показать в сетке DBGrid. При создании подстановочного поля также необходимо указать набор данных, откуда поле будет просматривать значения, ключевые поля для релятивной связи и поле со значениями, которые нужно подставлять. Открываем проект из лекции № 5, открываем окно модуля данных. Дважды щелкаем по компоненту FoodT, чтобы открыть редактор полей. В этом редакторе у нас уже присутствуют пять полей, имеющихся в таблице, добавим шестое, подстановочное. Для этого щелкните правой кнопкой по редактору полей и выберите команду New Field (Новое поле): Рис. 6.1. Создание подстановочного (Lookup) поля В разделе Field type (Тип поля) вы можете выбрать один из трех вариантов. Нас сейчас интересует тип Lookup. Заполните необходимые поля значениями, как на рисунке 6.1 и нажмите кнопку "ОК". Новое подстановочное поле будет добавлено в набор данных. В списке полей его можно переместить мышью на другое место, установите его сразу под FName. Перейдите на окно главной формы и убедитесь, что новое поле появилось. Однако оно пока еще не содержит данных - данные будут доступны только во время прогона программы. Сохраните проект, скомпилируйте и посмотрите, как работает программа. Как мы видим, теперь на главной форме два поля, которые ни к чему показывать пользователю - FKey с номерами записей, и FType - с номерами типов блюд, которые нам уже не нужны, поскольку мы показываем сами типы. Уберем их, точнее, сделаем невидимыми. Снова откройте редактор полей набора данных FoodT. Установите свойство Visible этих полей в False. Практическая часть На этом уроке мы создадим форму для справочника «Продукты» нашего склада c использованием поле Lookup из других таблиц. Процесс создания данных форм аналогичен созданию формы для справочника «Единицы измерения», смотри предыдущие уроки. Поэтому описывать буду достаточно кратко. Создаем новую форму File->New->Form –Delphi В инспекторе объектов устанавливаем следующие свойства для новой формы Caption -> Продукты; FormStyle -> fsMDIChild; Name -> Form_products; Сохраните модуль с именем products. Пропишем Uses general; после раздела implementation в программном модуле unit products. А в программном модуле unit general главной формы пропишем Uses ed_izmer, product_group, products; Далее размещаем на форме следующие компоненты Три кнопки TButton из вкладки Standart В инспекторе объектов для Button1 устанавливаем свойство Caption -> Новая запись; для Button2 устанавливаем свойство Caption -> Удалить запись; для Button3 устанавливаем свойство Caption -> Закрыть. Из вкладки Data Accessпомещаем на форму компонент TDataSource. В инспекторе объектов для него устанавливаем следующие свойства: DataSet -> Form_general.table_products; Name -> products. А из вкладки Data Controls помещаем на форму компонент TDBGrid. В инспекторе объектов для него устанавливаем следующие свойства: DataSource -> products. Если поля таблицы не отображаются в DBGrid,возможно у вас отключено (False) свойство Active главной форме в инспекторе объектов компонента table_products (TADOtable),установитеActive -> True. Сейчас мы переименуем поля нашей таблице. Для этого перейдем на главную форму проекта. Выберем компонент table_products (ADOTable)и в структуре (Structure) -> products -> Fields -> щелкнем правой кнопкой мыши и выберем Add all fields. Для полей id, id_product_group, id_ed_izmer в инспекторе объектов устанавливаем свойство Visible->False, затем выбираем поле product_name и в инспекторе объектов устанавливаем у него свойства DisplayLabel -> Продукт; DisplayWidth -> 30; затем выбираем поле time_hraneniya и в инспекторе объектов устанавливаем у него свойства DisplayLabel -> Время хранения; DisplayWidth -> 20; Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Категории продуктов». Для этогов структуре (Structure) -> products -> Fields -> щелкнем правой кнопкой мыши и выберем New field….
После этого видим:
В поле Name: пишем product_group; в поле Type: выбираем String; выбираем поле Lookup; в Key Fields:выбираем id_product_group; в Dataset: выбираем table_product_group; в Lookup Keys: выбираем id; а в Result Field: выбираем product_name жмем ОК
В инспекторе объектов для созданного поля свойство DisplyLabel-> Категория продукта, DisplyWidth-> 24 иперемещаем поле мышкой в позицию после поляproduct_name.
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (427)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |