Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики»

Для этогов структуре (Structure) -> prihod -> Fields -> щелкнем правой кнопкой мыши и выберем New field….

и заполняем

В поле Name: пишем postav_ik;

в поле Type: выбираем String;

выбираем поле Lookup;

в Key Fields:выбираем id_postav_ik;

в Dataset: выбираем form_general.table_postav_ik;

в Lookup Keys: выбираем id;

а в Result Field: выбираем postav_ik_name жмем ОК

В инспекторе объектов для созданного поля свойство DisplyLabel-> Поставщик, DisplyWidth-> 24 иперемещаем поле мышкой в позицию после поляid_postav_ik.

После этого видим для формы «Приход»:

Вопросы для контроля

1. Для чего устанавливаем в DisplayLabel -> Номер документа?

2. Что такое Key Fields и для чего нужен?

3. Что устанавливаем в Dataset и для чего?

4. Что произойдет если в Lookup Keys: выбираем id?

5. Что произойдет если в Result Field: выбираем postav_ik_name?

Литература

1. Фаронов В.В. Программирование на языке высокого уровня: Учебник для вузов. -СПб.: Питер, 2003.

2. Бобровский С.И. Delphi 7. Учебный курс. - СПб.: Питер, 2005.

3. Кетков Ю.Л., Кетков А.Ю. Практика программирования: Visual Basic, C++ Builder, Delphi. - СПб.: БХВ - Петербург, 2005.

ЛАБОРАТОРНАЯ РАБОТА № 8

Тема: Создание формы прихода продуктов на склад

Цель: Научиться создавать форму и продумывать интерфейс программы

Оборудование и/или программное обеспечение: ПК, Delphi

Теоретическая часть

Для того чтобы иметь возможность просматривать записи файла данных, в форму приложения нужно добавить компонент TDBNavigator, значок которого находится на вкладке Data Controls. Компонент TDBNavigator (рисунок 1) представляет собой набор кнопок, по щелчку на которых во время работы программы происходит перемещение указателя текущей записи к следующей, предыдущей, первой или последней записи базы данных, а также добавление к файлу данных новой записи, удаление текущей записи.

Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru
Рис.1. Компонент TDBNavigator

В приведенной ниже таблице содержится описание каждой кнопки.

Таблица 1. Назначение кнопок компонента TDBNavigator
Кнопка Название Обозначение Действие
Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru К первой nbFirst Указатель текущей записи перемещается к первой записи файла данных
Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru К предыдущей nbPrior Указатель текущей записи перемещается к предыдущей записи файла данных
Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru К следующей nbNext Указатель текущей записи перемещается к следующей записи файла данных
Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru К последней nbLast Указатель текущей записи перемещается к последней записи файла данных
Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru Добавить nbInsert В файл данных добавляется новая запись
Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru Удалить nbDelete Удаляется текущая запись файла данных
Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru Редактирование nbEdit Устанавливает режим редактирования текущей записи
Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru Сохранить nbPost Изменения, внесенные в текущую запись, записываются в файл данных
Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru Отменить nbCancel Отменяет внесенные в текущую запись изменения
Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru Обновить nbRefresh Записывает внесенные изменения в файл

Свойство VisibleButtons позволяет скрыть некоторые кнопки компонента TDBNavigator и тем самым запретить выполнение соответствующих операций над файлом данных. Например, присвоив значение False свойству VisibleButtons.nbDelete можно скрыть кнопку nbDelete и тем самым запретить удаление записей. Свойство DataSource, как и, например, для компонентов TDBEdit служит для связывания компонента с таблицей.

Свойству DataSource присвоим значение DataSource1.

Теперь запустим наше приложение. Мы видим, что записи в нашей БД отсутствуют. Внесем несколько записей в таблицу, используя клавишу Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru компонента TDBNavigator. Так как для полей Family, Name, God, Predmet мы поставили флажок Required Field, что означает обязательное заполнение поля, то при нажатии клавиши Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru , необходимо чтобы все компоненты TDBEdit были заполнены, иначе программа выдаст ошибку.

Практическая часть

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

Приступим к созданию формы.

Создаем новую форму File->New->Form –Delphi

В инспекторе объектов устанавливаем следующие свойства для новой формы

Name -> Form_prihod_prod;

Visible->False;

Сохраните модуль с именем prihod_prod.

Пропишем uses general, prihod, unit_dm; после раздела implementation в программном модуле unit prihod_prod.

А программном модуле unit general главной формы пропишем Uses ed_izmer, product_group, postav_ik, products, prihod, prihod_prod;

А программном модуле unit prihodформы прихода (form_prihod) пропишем uses general, unit_dm, prihod_prod;

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

Три кнопки TButton, компонент TEditи пять компонентов TLableиз вкладки Standart

В инспекторе объектов для Button1 устанавливаем свойство Caption -> Новая запись;

для Button2 устанавливаем свойство Caption -> Удалить запись;

для Button3 устанавливаем свойство Caption -> Закрыть;

для Edit1устанавливаем свойство Name-> docum_number, NumbersOnly->True;

дляLabel1устанавливаем свойство Caption -> Документ номер;

дляLabel2устанавливаем свойство Caption -> от;

дляLabel3устанавливаем свойство Caption -> Поставщик;

дляLabel4устанавливаем свойство Caption -> Итого на сумму

дляLabel5устанавливаем свойство Caption -> руб.

Из вкладки Win32,компонентTDateTimePicker

В инспекторе объектов для него устанавливаем свойство Format -> dd.MM.yyyy, Time -> 0:00:00;

Далее из панели компонентов dbGo (ADO) размещаем на форме компоненты два TADOTable и TADOQuery.

для ADOTable1 в инспекторе объектов свойство Name записываем table_copy_prihod,

Connection устанавливаем -> form_general.ADOConnection1

TableName-> prihod,

Active-> True;

для ADOTable2 в инспекторе объектов свойство Name записываем table_storage,

Connection устанавливаем -> form_general.ADOConnection1

TableName-> strorage,

Active-> True;

Выбираем table_storageи в структуре (Structure) -> storage -> Fields -> щелкнем правой кнопкой мыши и выберем Add all fields.

должно получиться следующее:

Далее создаем выпадающее поле Lookup для просмотра данных из справочника «Поставщики» - student2.ru

Далее выбираем поле id и в инспекторе объектов устанавливаем у него свойство Visible->False.

Для поля id_product устанавливаем свойство Visible->False.

Для поля id_product_group устанавливаем свойство Visible->False.

Для поля id_prihod устанавливаем свойство Visible->False.

Для поля id_ed_izmer устанавливаем свойство Visible->False.

Для поля quantity

DisplayFormat->.###

DisplayLabel -> Количество;

DisplayWidth -> 10;

Для поля price

DisplayFormat->.##

DisplayLabel -> Цена;

DisplayWidth -> 10;

Для поля date_realization

DisplayLabel -> Реализовать до:;

DisplayWidth -> 18;

Наши рекомендации