Студопедия — if DataModule1.BookTable.Modified then
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

if DataModule1.BookTable.Modified then






DataModule1.BookTable.Post;

Close;

end;

В першому рядку здійснюється перевірка, якщо таблиця була змінена (DataModule1.BookTable. Modified дорівнює true), то прийняти зміни DataModule1.BookTable.Post.

Тепер перейдіть в головну форму та по натисканню пункту меню «Добавить запись» напишіть наступне:

DataModule1.BookTable.Insert;

EditRecordForm.ShowModal;

Тут в першому рядку я вставляю в головну таблицю новий рядок. В другому рядку я відображаю вікно редагування даних.

По натисканню пункта меню «Редактировать запись» напишіть просто код відображення вікна редагування - EditRecordForm.ShowModal;.

Тепер запустимо програму. Створіть новий запис. На рис. 1.11 можна побачити параметри, які були занесені для прикладу.

 

Рис. 1.11 Вікно редагування даних

 

В полі «Город» було обране значення «Ростов-на-Дону». Після натискання кнопки «Сохранить» вікно зачинеться. Подивись на сітку. В полі «Город» нового рядка можна побачити цифру 3. Це значить, що в довіднику міст є запис зі значенням в полі Key1, яке дорівнює 3 та в поле «Название города» вказана назва, яка була обрана. Відчиніть таблицю через Access та подивіться.

 

Вдосконалений приклад з пошуковими полями

Перед тим як рухатися далі, треба спочатку зробити обробник для меню «Удалить запись». По цій події треба вивести запит на підтвердження знищення та якщо відповідь є позитивною, то можна знищувати.

Створіть такий обробник та напишіть в ньому наступне:

Begin

if Application.MessageBox(PChar('Ты действительно хочешь удалить '

+DataModule1.BookTableDSDesigner.AsString), 'Внимание!!!',

MB_OKCANCEL)=id_OK then

DataModule1.BookTable.Delete;

end;

Тут виводиться повідомлення за допомогою функції MessageBox. В першому параметрі (текст повідомлення) пишеться текст 'Ты действительно хочешь удалить ' плюс значення поля «Фамилия» обраного рядка - DataModule1.BookTableDSDesigner.AsString. Саме складне тут - DataModule1.BookTableDSDesigner.AsString. Щоб зрозуміти цю конструкцію треба перейти в модуль DataModule. Тут двічи натиснути по компоненту BookTable, де у нас підключений основний довідник, а потім по полю «Фамилия». Подивитися в об’єктному інспекторе ім’я цього поля, воно повинне бути BookTableDSDesigner. Зараз зрозуміло? Я пишу ім’я модуля даних (DataModule1), потім через крапку ім’я поля (BookTableDSDesigner) та метод AsString, який повертає значення поля у вигляді рядка.

Можете піднятися в розділ type модулю DataModule1 та впевнитися, що всередині нашего об’єкту TDataModule1 є оголошення властивості BookTableDSDesigner типу TWideStringField.

Сподіваюсь, що з першим рядком все зрозуміло. Якщо ні, то запусти приклад та подивись, що відбудеться якщо спробувати знищити рядок.

В другому рядку я просто знищую поточний рядок за допомогою виклику методу Delete таблиці - DataModule1.BookTable.Delete.

Зараз приклад практично готовий. Єдиний недолік – в сітці перегляду даних замість назви міста відображається індекс рядка в довіднику. Це дуже незручно, тому треба виправити цей недолік.

Перейди в модуль DataModule1, та виділи компонент BookTable. Зроби його неактивним – в властивості Active встановіть false. Зараз двічі натисніть по цьому компоненту та перед тобою відчинеться вже знайомий редактор полів. Створимо нове поле, яке буде містити текстову назву міста для рядків таблиці. Для цього натисніть всередині вікна редактору та в меню, яке з’явиться, оберіть пункт New Field. Відчинеться вікно, яке зображене на рисунке 1.12:

 

Рис. 1.12 Вікно створення нового поля

Створення нового поля можливе лише при неактивній таблиці, тому ми й виставили в властивості Active значення false.

Заповніть поля цього вікна наступним чином:

В полі Name введіть «Town»

В полі Type вкажіть тип String – рядок.

В полі FieldType оберіть Lookup – пошукове поле.

В полі KeyField (ключеве поле) оберіть поле «Город». Це поле головної таблиці,

по значенню якого треба буде відшукувати текст в іншій таблиці.

В полі DataSet треба вказати TownTable – це таблиця-довідник міст, де треба шукати.

В полі Lookup Keys вкажіть Key1 – це поле в таблиці довіднику, за яким треба здійснювати пошук.

В полі Result Field вкажіть поле «Название города» - це поле, текст якого буде підставлятися. Зараз нажміть ОК.

В вікні редактору полів з’явиться ново поле з іменем Town. В самій БД такого поля не буде, тому що воно динамічне та існує лише в пам’яті машини, коли програма є запущеною. Перетащіть його мишкою вище, ближче до поля Город (рис. 1.13):

 

Рис. 1.13

 

Знову зроби таблицю BookTable активною та спробуй зараз запустити програму. Подивись на поле Town та ти побачишь зараз там тестову назву міста (рис. 1.14).

 

Рис. 1.14 Результат роботи програми

Зараз програма виглядає більш красивою та цікавою. Єдине – можна зробити поле «Город» невидимим, для того щоб користувач не бачив ці незрозумілі числа, а над полем Town написати надпис «Город». Для цього двічі натисніть по компоненту BookTable, виділіть поле «Город» та встановіть в властивості Visible значенне false. Тепер виділіть поле Town та в властивості DisplayLabel напишіть «Город».







Дата добавления: 2015-10-12; просмотров: 362. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Подкожное введение сывороток по методу Безредки. С целью предупреждения развития анафилактического шока и других аллергических реак­ций при введении иммунных сывороток используют метод Безредки для определения реакции больного на введение сыворотки...

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

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия