Практическая работа. Организация учета книг в библиотеке.

Организация учета книг в библиотеке.

Создайте две таблицы в Database Desktop:

1. Таблица карточек читателей (фамилия, имя, отчество читателя (поле FIO), дата рождения (поле DataR), адрес (поле Adres), номер читательского билета (поле NomerChit)). Сохраните таблицу под именем Chitateli.db на диске С: в папке Baza.

2. Таблица выдачи книг (автор книги (Avtor), название книги (NameBook), номер читательского билета (NomerChit), дата выдачи (DataV), срок возврата книги (SrokV)). Сохраните таблицу под именем Book.db на диске С: в папке Baza.

Между таблицами нужно установить связь «мастер-детальный», при которой таблица Chitateli.db будет главной, а таблица Book.db – подчиненной. Для организации связи в качестве поля связи главной таблицы выберем поле NomerChit, которое необходимо сделать ключевым, т.е. чтобы значения в этом поле не повторялись. В подчиненной таблице Book.db полем связи будет поле NomerChit. Проиндексируйте обе таблицы по полям NomerChit (одинаковое поле в таблицах). Назовите индексные файлы indNomer.

В верхней части формы установите и свяжите между собой компоненты для работы с таблицей Chitateli.db, в нижней – компоненты для работы с таблицей Book.db. Переименуйте поля таблиц, присвоив им русские заголовки.

Для организации связи между таблицами в подчиненной таблице для компонента Table2 нужно установить следующие свойства:

§ MasterSource – источник данных главной таблицы (выбор главной таблицы) – Table1;

§ IndexName – текущий индекс подчиненной таблицы – indNomer;

§ MasterFields – поле или поля связи индекса главной таблицы. При выборе этого свойства на экране появляется окно специального Редактора полей связи (Field Link Designer). В списке Detail Fields выбирается поле подчиненной таблицы, а в списке Master Fields – поле главной таблицы. После нажатия кнопки Addвыбранные поля связываются между собой, что отображается в списке Joined Fields. Заполнение свойства MasterFields происходит после закрытия окна при нажатии кнопки OK.

 

После установки всех нужных для связывания таблиц свойств запустите программу и заполните первую запись таблицы Chitateli.db, затем перейдите к заполнению таблицы Book.db (несколько записей, потому что один читатель может взять несколько книг), затем снова к заполнению таблицы Book.db и так далее. В таблице Chitateli.db должно быть не меньше 5 записей. Следите за тем, чтобы у связанных записей совпадали номера читательских билетов.

Пример работы программы показан на рисунке

Создадим главное меню программы, как показано на рисунке:

Для этого нужно к проекту добавить еще три формы. На второй форме создать главное меню программы согласно рисунка. На третью форму скопируйте компоненты для работы с таблицей Chitateli.db. В заголовке формы – Таблица «Читатели». На четвертую форму скопируйте компоненты для работы с таблицей Book.db. В заголовке формы – Таблица «Книги». Для каждого пункта меню напишите обработчики событий, чтобы при выборе пункта на экране появлялось окно с выбранными таблицами. Например:

procedure TForm2.N2Click(Sender: TObject);

Begin

Form3.Show;

end;

Оставшиеся процедуры напишите самостоятельно.

Чтобы можно было при выборе пунктов главного меню второй формы (содержит главное меню) показывать на экране другие формы, нужно подключить модули форм ко второй форме. Это можно выполнить следующим образом. Перейти на вторую форму, выполнить команду File\Use Unit… В появившемся окне выделить имена модулей остальных форм и нажать ОК. В модуле второй формы после слова implementation(раздел реализаций) автоматически пропишется следующее:

uses Unit3, Unit4, Unit1;

Работа готовой программы показана на рисунке:

 








Дата добавления: 2015-05-16; просмотров: 791;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.