Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РиЭ УБД(4к1с).docx
Скачиваний:
0
Добавлен:
25.04.2019
Размер:
57.01 Кб
Скачать

Создание журнала продаж

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

В компоненте datebd создать 4 пары компонентов связи

Для таблицы товара:

Adotable:

Name – adotovar_2

Conection – kombinat

Tablename - tovar

Active – true

Datasource:

Name – datatovar_2

Dataset – adotovar_2

Для таблицы вид товара:

Adotable:

Name – adovidtovar_2

Conection – kombinat

Tablename – vid_tovar

Active – true

Datasource:

Name – datavidtovar_2

Dataset – adovidtovar_2

Для таблицы продажи:

Adotable:

Name – adoprodaja

Conection – kombinat

Tablename - prodaja

Active – true

Datasource:

Name – dataprodaja

Dataset – adoprodaja

Для таблицы клиентов:

Adotable:

Name – adoclient_2

Conection – kombinat

Tablename - client

Active – true

Datasource:

Name – dataclient_2

Dataset – adoclient_2

Во всех компонентах ADOTable добавить поля в редакторе полей.

В компоненте ADOProdaja отредактировать вывод полей

Ключевые поля – невидимы, displaylabel,displaywidth, editmask.

Создать форму

Unitprodaja

Name - formProdaja

Caption – журнал продаж

Formstyle – MDIChild

Position – posonly

Events – onclose – action:=cafree;

Project – option – вправо

Useunit – unitbd

Добавить форму в главное меню

Создаем интерфейс:

Label вид товара dblookupcombobox1

Label товар dblookupcombobox2

Label клиент dblookupcombobox3

Dbgrid1

Buttoms добавить сохранить удалить закрыть

Dblookupcombobox1:

Listsource – adovidtovar_2

List field - name

Keyfield – id_vid_tovar

Dblookupcombobox2:

Listsource – adovtovar_2

List field - name

Keyfield – id_tovar

Data source – dataProdaja

Data field – id_tov

Dblookupcombobox3:

Listsource – adoclient_2

List field - name

Keyfield – id_client

Data source- dataProdaja

Data field – id_client

Сохранить:

Var pr, kol, sum:real;

Begin

Kol:=datebd.adoprodajakolvo.value;

Pr:=datebd.adotovar_2price_itog.value;

Sum:=kol*pr;

Datebd.adoprodaja.edit;

Datebd.adoprodajasumma_izgot.value:=sum;

Dateb.adoprodaja.post;

Удалить: самому прописать.

Создание связи один ко многим в форме

В качестве примера использования связи один ко многим создадим форму, которая позволяет по выделенному поставщику найти его поставки. По выделенной поставке увидеть наименование сырья по данной записи.

Технология выполнения:

  1. Данная форма будет отображать сведения из четырех таблиц (поставщик. Поставки, сырье, вид сырья).

  2. В модуль DateBD добавляем 4 пары элементов связи с БД.

Для таблицы Поставщик:

ADOTable:

Name ADOPostavchik_3

Connection – kombinat

Tablename – postavchik

Active – true

DataSource:

Name – DataPostavchik_3

DataSet – ADOPostavchik_3

ADOSirye_3 – DataSirye_3

ADOVidSirye_3 – DataVidSirye_3

ADOPostavka_3 – DataPostavka_3

Редактируем поля в компонентах АДО. При редактировании полей внешние ключи остались видимыми

  1. Создаем форму

UnitPostavka

Caption – Журнал учета поставки сырья

Position – posonly

Name – поставка сырья

Form – FormPostavka

Formstyle

Project option

Onclose

  1. На форме отобразить трри элемента DBGrid, отображающие «поставщики», «поставки сырья», «сырье»

  2. Для организации связи между таблицами DBGrid на форме необходимо выйти в модуль DateBD и для родительских таблиц установить свойства:

ADOPostavka_3:

Master source – datapostavchik_3

Master fields - … - в появившемся окне выделить слева и справа поля id_post – добавить – ok

ADOSirye_3:

Master source – datapostavka_3

Master fields – id_sur