Реферат: Створення клієнтської програми для користування базою данних MS ACCESS в Delphi 4 0
Для компоненти Database1 в вікні “Object Inspector” надамо наступні значення для властивостей: AliasName = “_db6” (вказуємо псевдонім нашої бази даних), DatabaseName = “_db1” (ім'я бази даних яке будуть використовувати решта компоненти DataAccess), LoginPromt = “False” (не запрошувати ім'я користувача і пароль при відкритті бази даних). Для компонент Table1, Table2, Table3 встановимо DatabasName = “_db1”,TableName відповідно “Товар”, “Рахунок”, “Партія товару”, і після цього для кожної компоненти Active присвоїмо значення True. Для компонент Datasource1, DataSource2, Datasource3 присвоїмо властивості DataSet відповідно значень “Table1”, “Table2”, “Table3”.
З вкладки Win32 на форму From1 помістимо компоненту PageControl, в вікні “Object Inspector” якої вкажемо Align = “AllClient”. Викликавши правою кнопкою миші контекстне меню виберемо пункт “New Page” і для нової закладки TabSheet1 властивість Caption присвоїмо значення “Товари”, яке буде назвою нашої закладки. На закладку помістимо компоненту DBGrid1 з закладки DataControls палітри компонентів. Надамо їй наступних властивостей: Align = “allClient”, DataSource = “DataModule1.DataSource1”. Тепер в вікні закладки “Товари” ми можемо переглядати дані з таблиці товар. Для можливості оперування з цими даними додамо на форму елемент управління DBNavigator. Для цього створимо для нашої форми Form1 панель інструментів. Помістимо на форму CoolBar1 з закладки Win32, на CoolBar1 ControlBar1 з закладки Additional, властивості AutoSize яких встановимо “True”. Після цього на ControlBar1 помістимо DBNavigator1. Створимо ще одну закладку PageControl1, для перегляду і редагування всіх трьох таблиць. Присвоїмо властивості Caption = «Виписка рахунку», для TabSheet2, і помістимо на закладку три компоненти GroupBox з палітри “Standart”, присвоївши властивості Caption для яких, відповідно, “Рахунок”, “Партія товару” і “Товар”. Помістимо на GroupBox1 (“Рахунок”) чотири компоненти DBEdit, з закладки “Data Controls”. Властивостям цих елементів DataSource присвоїмо значення DataModule1.DataSource3, а DataField, відповідно, імена полів з таблиці “Рахунок”: “Код рахунку”, “Дата виписки”, “Дата проплати”, “Сума оплати”. Над елементами DBEdit помістимо компоненти Label з палітри “Satndart”, присвоївши властивості Caption кожного з них імена відповідних полів. Аналогічно поступимо з GroupBox2 (“Товар”), помістивши на нього відповідну кількість DBEdit i Label, створивши перегляд таблиці “Рахунок”. На GroupBox3 (“Партія товару”) помістимо DBGrid, присвоїмо його властивостям такі значення: Align = AllClient, DataSource = DataModule1.DataSource2. Для того щоб перехід по всіх полях різних таблиць відбувався синхронно, а в DBGrid2 ми могли бачити список партій товару які виписані на вибраний рахунок вкажемо зв'язки між таблицями. Але щоб в першій закладці таблиця товар відображалась правильно зробимо це для таблиць “Рахунок” і “Партія товару” в «Object Inspector», а для таблиць “Партія товару” і “Товар” – програмно. Виберемо Table2 на DataModule1 і для властивості MasterSource виберемо значення DataSource3, для властивості MasterFields – “Код рахунку”. Для компоненти PageControl1 в колонці “Object Inspector” “Events” виберемо подію «OnChange», двічі натиснемо ліву клавішу миші і введемо наступне:
procedure TForm1.PageControl1Change(Sender: TObject);
begin
// якщо здійснено перехід на закладку “Товар”
if PageControl1.ActivePage=TabSheet1 then
begin
DBNavigator1.DataSource:=DataModule1.DataSource1; // панель DBNavigator керує таблицею “Товар”
DataModule1.Table1.MasterSource:=nil; // забираємо зв'язок з таблицею “Партія товару”
DataModule1.Table1.MasterFields:='';
end;
// якщо здіймнено перехід на закладку “Партія товару”
if PageControl1.ActivePage=TabSheet2 then
begin
DBNavigator1.DataSource:=DataModule1.DataSource3; // панель DBNavigator керує таблицею “Рахунок”
DataModule1.Table1.MasterSource:=DataModule1.DataSource2; // встановлюємо зв'язок між «Товар» і
DataModule1.Table1.MasterFields:='Код товару'; // “Партія товару” по полю “Код товару”
end;
end;
Біля полів “Дата виписки» та «Дата проплати» помістимо кнопки для переходу на нову форму – вибору дати. Створимо її у вигляді dll. Виберемо в меню меню File Þ New, і вікні “New Items” виберемо піктограму “Dll”. Після появи самого тексту dll збережемо проект як «slave.dpr», і виберемо в меню File Þ New Form. Властивостям нової форми надамо такі значення: Name = CalendarForm, Caption = «Виберіть дату», BorderStyle = bsToolWindow, Position = poDesktopCenter. Помістимо на форму компоненту MonthCalendar з закладки Win32, і SpeedButton з закладки Additional. Додамо в опис змінних для модуля :
var
selDate: TDate;
для SpeedButton1 створимо таку процедуру обробки подіїOnClick:
procedure TCalendarForm.SpeedButton1Click(Sender: TObject);
begin
selDate:=MonthCalendar1.Date; // запам'ятовуємо вибрану дату
CalendarForm.Close; // закриваємо форму
end;
В модуль slave.dpr введемо наступний текст:
uses
--> ЧИТАТЬ ПОЛНОСТЬЮ <--