4.  Активизируется форма «ОТЧЕТ». На ней размещается компонент QuickRep со страницы Qreport. В свойстве DataSet (набор данных) выбирается таблица с соответствующими данными или запрос.

5.  В пункте свойства Bands (полосы) необходимо определить параметры:

Ø  В свойстве HasTitle устанавливается значение True и в появившейся полосе размещается компонент QRLabel со страницы Qreport со свойством Caption «Полный отчет».

Ø  В свойстве HasColumnHeader устанавливается значение True и в появившейся полосе размещается такое количество компонентов QRLabel, которое соответствует количеству полей в талице БД. Свойства Caption для этих меток содержат названия полей таблицы.

Ø  На форме так же можно разместить кнопку с названием «Предварительный просмотр», а в процедуру для нее разместить текст:
Quickrep1.Preview; тогда при запуске программы можно контролировать процесс разработки отчета.

Ø  Для дальнейшей разработки необходимо вернуться к форме «ОТЧЕТ» и в свойстве HasDetail установить параметр True. В образовавшейся строке, разместить такое количество компонентов RQDBText со страницы Qreport, которое соответствует количеству компонентов QRLabel. Для каждого компонента RQDBText в свойстве DataSet выбрать имя таблицы или запроса по которому составляется отчет, а в свойстве DataField прописать имя соответствующего поля.

Ø  Сохранив все изменения можно посмотреть полученный отчет в процессе работы программы.

Ø  Для того чтобы сразу попасть в режим просмотра отчета необходимо в код кнопки «отчет» внести команду:
Form2. Quickrep1.Preview;

НЕ нашли? Не то? Что вы ищете?

Ø  Оформление отчета производится установкой параметров свойства Font

Контрольные вопросы:

1.  Понятие отчета.

2.  Виды отчетов.

3.  Компоненты, используемые для создания отчета и их свойства.

Лабораторная работа № 5.

Создание многотабличной базы данных в среде Delphi.

Цель работы:

Образовательные:

-  Изучить принципы работы с многотабличными базами данных в среде Borland Delphi;

-  научиться создавать простые приложения для работы с БД;

-  рассмотрение правил организации просмотра, редактирования данных различных типов многотабличной базы данных.

Воспитательные:

-  развитие навыков самостоятельного мышления;

-  выработка умений использовать справочные материалы для решения практических задач;

-  формирование практических навыков при работе с ЭВМ.

Оборудование и оснащение работы:

Текст лабораторной работы; справочные материалы (типы данных БД различных форматов), ЭВМ.

Теоретический материал:

Формирование взаимосвязей между таблицами определяется на двух уровнях: на уровне структуры таблиц через утилиту Database Desktop и на уровне настройки компонентов таблиц данных определяя связываемые поля. При связывании таблиц необходимым условием является организация контроля целостности данных и связей.

В настоящий момент большое внимание уделяется возможности представления данных БД не традиционных типов: графика, текст, аудио - и видеоинформация. Подобный тип данных возможно реализовать и в среде Delphi. В большинстве случаев данные такого типа представляются отдельными файлами и доступ к ним производится при активизации соответствующей записи баз данных. В ячейках, соответствующих такому типу формируется путь к файлу с конкретным значением (или другому источнику, где физически располагается значение).

Задача: Необходимо создать приложение, предназначенное для учета продаваемых в магазине товаров. База данных состоит из двух таблиц: “ТОВАРЫ” и “ПРОДАЖИ ТОВАРОВ” заданной структуры.

Ход работы:

Создание таблиц
Структура таблицы данных “ТОВАРЫ” дана в таблице 1.

Таблица 1 Структура таблицы “ТОВАРЫ”

Идентификатор поля

Наименование

Тип

Длина

NameGoods

Наименование товара

Строка

20

TypeGoods

Тип товара

Строка

16

Ed

Единица измерения

Строка

12

Guarantee

Гарантия (лет)

Целочисленный

PriceEd

Стоимость единицы

Число с плавающей точкой

Note*

Примечание

Строка более 255 симв.

Image*

Изображение

Изображение

Структура данных таблицы “ПРОДАЖИ ТОВАРОВ” - в таблице 2.

Таблица 2. Структура таблицы “ПРОДАЖА ТОВАРОВ”

Идентификатор поля

Наименование

Тип

Длина

Code

Номер квитанции

Авто инкремент

DateSate

Дата продажи

Дата

NameGoods

Наименование товара

Строка

20

Amount

Количество

Целочисленный

Для создания таблиц БД нужно выбрать тип создаваемой таблицы - Paradox. В таблице “ТОВАРЫ” первичный ключ построить по полю NameGoods, а в таблице “ПРОДАЖИ ТОВАРОВ” – по полю Code.

Для реализации ссылочной целостности между таблицами в таблице “ПРОДАЖИ ТОВАРОВ” внешний ключ построить по полю NameGoods. Для сортировки записей при их выводе, в таблице “ТОВАРЫ” необходимо построить индексы по полям NameGoods, TypeGoods, PriceEd, Guarantee.

Рисунки показывают вид окна при создании структур таблиц
«Товары» и «Продажа товаров»

Для создания или изменения вторичного индекса необходимо в таблице Tovari в списке Table properties выбрать строку Secondary Indexes. Чтобы определить новый индекс нужно нажать кнопку Define. В появившемся диалоговом окне в поле Fields содержится список полей определяемой таблицы. Поле Indexed Field предназначено для хранения полей, входящих в создаваемый индекс.

Задаются условия ссылочной целостности между данными таблиц. Ссылочная целостность в Paradox определяет, во-первых, связь между таблицами, а во-вторых, вид каскадных воздействий.

Открывается таблица Sendtovari. db (элемент меню File – Table - Open) и затем выбирается режим изменения структуры таблицы {Table \ Restructure). В выпадающем списке Table Properties выберается элемент Refеrential Integrity и нажимается кнопка Define. В появившемся диалоговом окне (см рис. ) в списке Fields показаны поля таблицы Sendtovari. db, а в списке Tables - таблицы базы данных. Сначала указывается поле связи для дочерней таблицы Sendtovari. db: выбором в списке Fields поля NameGoods и нажимается кнопка с изображением стрелки вправо.

Название NameGoods будет записано в поле Child Fields -(поле внешнего ключа дочерней таблицы.

В списке Tables выбирается таблица Tovari. db и нажимается кнопка с изображением стрелки влево. В поле Parents Key (ключ родительской таблицы) будут показаны поля из первичного ключа таблицы Tovari. В данном случае это поле NameGoods.

Переключатели Update rules определяют вид каскадных воздействий на таблицу Sendtovari при изменении значения поля связи в таблице Tovari или при удалении в ней записи:

Cascade - разрешены каскадные изменения и удаления подчиненных записей в дочерней таблице;

Prohibit - запрещены изменения полей связи или удаление записи в родительской таблице, если для данной записи есть связанные записи в дочерней таблице.

Фиксируется Cascade; DBD запросит имя ссылочной целостности (в базах данных формата Paradox каждое условие ссылочной целостности именуется). Определяется имя, например Tovari_Prihod_Integrity. Теперь имя новой ссылочной целостности будет помещено в список.

Сохраняются изменения в таблице Sendtovari (кнопка Save) и заново в режим реструктуризации (Table | Restructure). В выпадающем списке Table properties выберите элемент Secondary Indexes (индексы таблицы, кроме индекса, построенного по определению первичного ключа). В списке индексов пропишется новый индекс с именем NameGoods. Этот индекс построен автоматически по неявному определению внешнего ключа при создании ссылочной целостности.

После указания необходимых параметров осуществляется выход из режима реструктуризации (кнопка Cancel) .

Создание приложения согласно исходному заданию.

Для разработки главной формы просмотра данных связанных таблиц необходимо:

-  вставьте в форму по два компонента TTable, TdataSource, TDBGrid, TDBNavigator а также по одному компоненту DBImage, DBMemo, SaveDialog, OpenPictureDialog, OpenDialog и три компонента TBitBtn.

Далее определяются следующие изменения свойств этих объектов в инспекторе объектов:

1) Для объекта DataSource1:

-  свойству Name присвоим значение DS_Tovari;

-  свойству DataSet присвоим значение TableTovari.

2) Для объекта DataSource2:

-  свойству Name присвоим значение DS_Sendtovari;

-  свойству DataSet присвоим значение TableSendtovari.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5