:
procedure TForm2.InsertButtonClick (Sender: TObject) ;. Table3.Insert ;;
Метод Insert переводить набір даних Table1 в стан додавання запису dsInsert. Введення значень полів здійснюється в компонентах DBEdit1, DBLookupComboBox1, DBEdit2. Для цього необхідно, щоб набір даних знаходився в режимі перегляду dsBrowse.
Визначимо обробник натискання кнопки EditButton:
procedure TForm2.EditButtonClick (Sender: TObject) ;. Table3.Edit ;;
Метод Edit переводить набір даних Table1 в стан додавання запису dsEdit. Редагування значень полів здійснюється в компонентах DBEdit1 ,, DBEdit2. Для цього необхідно, щоб набір даних знаходився в режимі перегляду dsBrowse.
Визначимо обробник натискання кнопки DeleteButton:
procedure TForm2.DeleteButtonClick (Sender: TObject);
beginMessageDlg ( Підтвердіть видалення запису ,
mtConfirmation, [mbYes, mbNo], 0)=mrYes THEN.Table3.Delete;
end;
Якщо набір даних Table1 знаходиться в режимі перегляду записів dsBrowse, викликається вікно діалогу (при виконанні функції MessageDlg ) ; якщо користувач натискає кнопку Yes, відбувається видалення поточного запису в наборі даних Table1.
Визначимо обробник натискання кнопки PostButton:
procedure TForm2.PostButtonClick (Sender: TObject) ;. Table3.Post ;;
Якщо набір даних знаходиться в режимі додавання нового запису або редагування, відбувається виконання методу набору даних Post, який запам'ятовує поточний стан запису в таблиці БД. Після запам'ятовування набір даних переводиться в режим перегляду dsBrowse.
Визначимо обробник натискання кнопки CancelButton:
procedure TForm2.CancelButtonClick (Sender: TObject) ;;. Visible:=true;
end;
Якщо набір даних знаходиться в режимі додавання нового запису або редагування, відбувається виконання методу набору даних Cancel, який скасовує запам'ятовування запису в таблиці БД і переводить набір даних в режим перегляду і переходить на форму меню .
Для того щоб набір даних не можна було переводити в стан додавання і зміни даних, а також видаляти записи безпосередньо з компонента DBGrid1, встановимо властивість DBGrid1.ReadOnly в значення True. Після цього запустимо додаток виконання. При додаванні нового запису або при коригуванні існуючої в поля можна заносити значення, використовуючи введення в компоненти DBEdit1, DBEdit2 і шляхом вибору зі списку значень в компоненті DBLookupComboBox1 (рис. 12.10). Те ж відбувається при зміні запису.
Рис. 12.9. Додавання нового запису
При видаленні запису видається вікно діалогу (мал. 4.11).
Рис. 12.10. Вікно підтвердження видалення запису
12.3.3 Створення складних екранних форм
У даному пункті описується питання створення більш складних варіантів екранних форм і встановлення їх доступу до БД, а також організація процесів обробки даних.
Варіанти модифікації TDBGrid на екранній формі
Як можна помітити, значення поля N_Prih необхідно для забезпечення унікальності у таблиці Prihod і не несе ніякої іншої навантаження. Тому дане поле краще не показувати у складі стовпців DBGrid2. Для цієї мети сформуємо список полів таблиці Prihod. У Delphi є дві можливості вказати, які з полів таблиці БД слід використовувати в додатку для набору даних.
Перший спосіб полягає у використанні за замовчуванням всіх полів з таблиці БД, з якою асоційований цей набір даних. Цей спосіб завжди використовується за умовчанням і, отже, був неявно використаний і нами при створенні наборів даних Table1 і Table2.
Другий спосіб полягає у використанні підмножини полів таблиці БД, з якою асоційований набір даних. Для цієї мети використовується редактор полів набору даних, який дозволяє включити до складу оброблюваних для набору даних полів всі поля...