нтаження»
Малюнок 3 - Таблиця «Предмети»
Малюнок 4 - Таблиця «Викладачі»
Схема бази даних формується після закінчення роботи над макетами таблиць за допомогою меню Сервіс/Схема даних.
При формуванні зв'язків між таблицями обов'язково встановлюється підтримка цілісності даних
Готова схема бази даних наведена нижче:
Малюнок 5 - Схема даних
5. Програмування програми
інформаційна система база дані
Послідовність дій
Створимо меню з декількох форм. Для цього розмістимо на формі додатку компонент MainMenu і відредагуємо його.
Організуємо доступ до БД через ADOConnection, ADOTable, DataSource. Розмістимо наступні компоненти (Рис. 6):
Малюнок 6 - Компоненти
Налаштування компонентів ::
властивість ConnectionString - відкривається вікно, в ньому після натискання кнопки Build вибираємо Microsoft Jet 4.0v OLE DB Provider, потім по кнопці Next - вибираємо нашу БД
властивість Login Promt: False
властивість Connected: True
властивість DataSet - вибираємо відповідний компонент AdoQuery;
Якщо все зроблено правильно, то після завдання таблиці компонент DBGrid1 заповниться даними (рис. 7).
Малюнок 7 Додаток для перегляду таблиці бази даних Access
Для більшої зручності при створенні додатків баз даних реалізовано додавання даних
__ fastcall TForm3 :: Btn2Click2 (TObject * Sender)
{- gt; Insert (); - gt; FieldByName ( Код викладача ) - gt; AsString=Edit4- gt; Text; - gt; FieldByName ( Прізвище ) - gt; AsString=Edit5- gt; Text; - gt; FieldByName ( Ім'я ) - gt; AsString=Edit6- gt; Text; - gt; FieldByName ( батькові ) - gt; AsString=Edit7- gt; Text; - gt; FieldByName ( Вчений ступінь ) - gt; AsString=Edit8- gt; Text; - gt; FieldByName ( Посада ) - gt; AsString=Edit9- gt; Text; - gt; FieldByName ( Стаж ) - gt; AsString=Edit10- gt; Text; - gt; Post (); - gt; Text= raquo ;; - gt; Text= raquo ;; - gt; Text= raquo ;; - gt; Text= raquo ;; - gt; Text= raquo ;; - gt; Text= raquo ;; - gt; Text= raquo ;;
}
Малюнок 8
Експорт даних в Excel
Експортування даних з бази даних реалізований наступним чином
__ fastcall TForm3 :: N1Click (TObject * Sender)
{* DataSet=DBGrid1- gt; DataSource- gt; DataSet; (! DataSet- gt; Active)
{DataSet- gt; Open ();} (...)
{ gt; MessageBox (L Помилка при відкритті набору даних (DataSet)! , L Помилка raquo ;, MB_ICONERROR) ;;
}=crHourGlass; Excel, Cells;
{Excel=CreateOleObject ( Excel.Application );} (...)
{Excel=Unassigned;=crDefault; gt; MessageBox (L Помилка при відкриттісервера Excel! , L Помилка raquo ;, MB_OK + MB_ICONERROR) ;;}. OlePropertySet ( DisplayAlerts raquo ;, false) ;. OlePropertySet ( Visible , false) ;. OlePropertySet ( WindowState raquo ;, - 4 137 );
{Excel.OlePropertyGet ( Workbooks ). OleProcedure ( Add );} (...)
{Excel.OleProcedure ( Quit );=Unassigned;=crDefault; gt; MessageBox (L Помилка при створенні книги! , L Помилка raquo ;, MB_OK + MB_ICONERROR) ;;}=Excel.OlePropertyGet ( Cells ); n (0);//VisibleColumnsCount
{(int i=0; i lt; DBGrid1- gt; Columns- gt; Count; i ++) (DBGrid1- gt; Columns- gt; Items [i] - gt; Visible)
{n ++ ;. OlePropertyGet ( Item , 1, n) .OlePropertySet ( Value raquo ;, DBGrid1- gt; Columns- gt; Items [i] - gt; Title- gt; Caption.c_str () );
//Горизонтальне вирівнювання - gt; За центру.OlePropertyGet ( Item raquo ;, 1, n) .OlePropertySet ( HorizontalAlignment raquo ;, - 4 108);
//Шрифт - gt; Жирный.OlePropertyGet(laquo;Itemraquo;,1,n).OlePropertyGet(laquo;Fontraquo;).OlePropertySet(laquo;Boldraquo;, True);
}
} (...)
{Excel.OleProcedure ( Quit ); (DataSet- gt; ControlsDisabled ()) DataSet- gt; EnableControls ();=crDefault; gt; MessageBox (L Помилка при передачі даних стовпців! , L laquo ; Помилка raquo ;, MB_OK + MB_ICONERROR);=Unassigned; Cells=Unassigned ;;} m=DataSet- gt; GetBookmark (); gt; DisableControls (); gt; First ();
{(! DataSet- gt; Eof)
{n=0; (int i=0; i lt; DBGrid1- gt; Columns- gt; Count; i ++) (DBGrid1- gt; Columns- gt; Items [i] - gt; Visible)
{n ++ ;. OlePropertyGet ( Item , DataSet- gt; RecNo + 1, n). ( Value raquo ;, DBGrid1- gt; Columns- gt; Items [i] - gt; Field- gt; AsString.c_str ()); (i!=2) .OlePropertyGet ( Item raquo ;, DataSet- gt; RecNo + 1, n) .OlePropertySet ( HorizontalAlignment raquo ;, - 4108);
//З лівого края.OlePropertyGet ( Item raquo ;, DataSet- gt; RecNo + 1, n) .OlePropertySet ( HorizontalAlignment raquo ;, - 4 131);
} gt; Next ();
}
//Cтиль лініі.OlePropertyGet ( Rang...