- Delphi
Є додаток з бд на access з двох таблиць. У додатку дві форми, кожна з якої посилається на таблицю.
У першій таблиці зберігається основна інформація (ID) з розшифровкою (Name).
Друга таблиця - підлегла. У ній зберігається інформація про додаткові даних, описаних в таблиці 1.
Треба зробити так, щоб у другій формі поле "ID" заповнювався немає від руки, а підхоплювало значення поле "ID" з першої таблиці.
Для цього використовував компонент DBLookupComboBox, напхав на форму додатково ADOTable2 і DataSource2 для зв'язку з першою таблицею.
Зіткнувся з проблемою. Коли заповнюю списком, що випадає поле DBLookupComboBox, програма в таблиці створює нову запис з цим ID. А решту 3 поля в яких просто текст, йдуть в наступний рядок, тобто в запис №2. Через це не можу зробити зв'язку в БД (через те що ключове поле виходить порожнім).
Виходить зрушення на одну сходинку. Як зробити так, щоб запис всіх полів відбувалася ТІЛЬКИ після натискання кнопки додати?
код для заповнення прописаний:
Скрін і додаток прикріплюю.
P.s. додаток сфабрикував на швидку руку, можливо доведеться поправити шляху в компонентах AdoTable.
додаток
Проблему вирішив у такий спосіб:
1. створив окрему кнопку, яка створює нову (порожню) рядок, а заодно записує значення з цього поля.
2. в другій кнопці залишив запис залишилися полів. вийшов ось такий ось код:
Принцип дії:
1. додаємо порожній рядок;
2. вибираємо значення в поле DBLookupComboBox1;
3. заповнюємо інші поля;
4. натискаємо на кнопку "Записати". і отримуємо те, що було потрібно.
Мінуса два:
1. додалася нова кнопка. Тепер щоб внести новий запис, треба натискати на дві кнопки кожен раз, замість однієї:
2. Якщо внесли нові дані в таблицю 1, щоб їх підхопив компонент DBLookupComboBox1, потрібно перезапустити програму.
Ваш відповідь на питання
Увійдіть, щоб написати відповідь
- Delphi
- Delphi
- Delphi
- Delphi
- Москва
- Повний робочий день
- від 80 000 до 120 000 крб.
- Москва
- Повний робочий день
- від 60 000 до 100 000 руб.
- Москва
- Повний робочий день
- від 60 000 до 100 000 руб.
- Москва
- Повний робочий день
- від 150 000 до 240 000 руб.
- Санкт-Петербург
- Повний робочий день
- від 60 000 руб.
5000 руб. / За проект
50000 руб. / За проект
6000 руб. / За проект
Увійдіть на сайт
Щоб задати питання та отримати на нього кваліфіковану відповідь.