|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.03.2009, 23:51 | #1 |
Новичок
Джуниор
Регистрация: 05.03.2009
Сообщений: 2
|
Редактирование данных БД, расположенных на разных формах
День добрый
подскажите, как можно реализовать следующую конструкцию: на первой форме две сетки-в первой - информация о списке платежей, во второй - подчиненная таблица с информацией о получателях платежей - пока все получается теперь нужно: при щелчке по получателю - раскрывается доп. форма, где можно редактировать данные выбранного получателя (и кнопочка - следующий, чтобы не выходя можно было перейти к следующему получателю из списка) - как в этой форме получить доступ к базе, открытой в первой форме? или нужно снова накидать компоненты-открыть в этой форме базу и просто перейти на нужную запись? - как-то громоздко тогда и некрасиво получается спасибо всем, кто откликнется |
06.03.2009, 00:18 | #2 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Наиболее профессиональным (и удобным, кстати) выглядит следующий вариант (хотя, возможно, вы и отнесете его к "громоздким").
Дополнительная форма, на ней - набор эдитов (если нужно, дэйттаймпикеров и спинэдитов - по типу данных). И пара кнопок - "Принять" и "Отказаться" - можете придумать свои названия. Именно простых эдитов, а не датаконтролов. Вызывается сия форма при выборе "Новая запись" или "Редактировать". При открытии формы для редактирования (или нажатии на дополнительные кнопки "Следующий" или "Предыдущий") - все компоненты вручную (в смысле вашей процедурой) заполняются из соответствующих полей таблиц. В режиме ввода новой записи - все обнулены. По кнопке "Принять" либо создается новая запись и в ее поля заносятся соответствующие значения, либо в существующую опять-таки вручную вносятся изменения. В случае нажатия кнопки "Отказаться" просто закрывается доп. форма. "Следующий" или "Предыдущий" - так это же просто методы Next/Prior вашей таблицы (датасета). Почему не напрямую в базе "ковыряемся"? Да все только ради того, чтобы не подпортить при аварийных завершениях, да и держать запись в режиме редактирования (особенно в многопользовательской среде) не есть "хорошо". Цитата:
Ну, у вас же эти таблицы по какому-то полю связаны? Наверное, по идентификатору платежа? Ну и сделайте локэйт в таблице платежей по идентификатору из таблицы получателей... Последний раз редактировалось mihali4; 06.03.2009 в 00:56. |
|
06.03.2009, 13:29 | #3 |
Новичок
Джуниор
Регистрация: 05.03.2009
Сообщений: 2
|
спасибо
ясненько я пока бежал на работу тоже подумал про подобный вариант, но опять же - я думал есть способ проще и "эллегантнее" есть мысль - на одной форме просто положить закладки и при выборе из grid для редактировнаия - просто переключиться в той же форме на закладку, где будут размещены компоненты для редактирования записи |
06.03.2009, 13:38 | #4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Конечно, можно и закладками. Но...
- "юзер" может и запаниковать, случайно (или из любопытства) ткнув в закладку редактирования или, того хуже, добавления новой записи (мало кто "учит матчасть" перед использованием программы). - если таблиц-справочников много - получается ненужное утяжеление основной рабочей формы, в то время как отдельные формочки не висят бесполезным грузом в памяти, а создаются и освобождаются по мере необходимости. - слишком большие "возможности выбора", постоянно присутствующие перед глазами, дезориентируют неподготовленного пользователя и отвлекают внимание. Поэтому я всегда советую попап-меню, привязанное к конкретному дбгриду. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод данных в разных падежах с access. | sashaslam | БД в Delphi | 3 | 28.05.2010 22:48 |
Помогите плиз правильно написать макрос обновления данных из разных файлов | Legame | Microsoft Office Excel | 10 | 10.09.2009 10:39 |
Сложение данных в разных ячейках | viter.alex | Microsoft Office Excel | 20 | 14.01.2009 18:30 |
SQL запрос и редактирование данных | Dux | БД в Delphi | 7 | 01.09.2008 12:17 |