IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Дельфи - поисковое поле (https://www.imho.ws/showthread.php?t=46974)

Puh 26.12.2003 15:28

Дельфи - поисковое поле
 
Помогите, плиз, решить проблему. Есть ADOTable1 и ADOTable2, два DataSourse и один DBGrid.
Структура таблиц:
ADOTable1 - Key(автоинкр. ключ), string
ADOTable2 - Key(автоинкр. ключ), Key1(связан с Key из
ADOTable1), string, integer.
В ADOTable2 введено поисковое поле, где выводятся
значения из ADOTable1.string
При программном введении данных в ADOTable2.string прога
ругалась что ADOTable2 не в "edit or insert mode".
Пришлось сохранять ADOTable1.Key, деактивировать
ADOTable1, делать ADOTable2.Append затем забивать
ADOTable2.Key1 сохранённым значением ADOTable1.Key и уже
затем вводить ADOTable2.string.(Естественно, после этого
снова активировать ADOTable1). Так всё работало.
Далее понадобилось вводить данные пользователем в
ADOTable2.integer через DBGrid. И здесь прога снова начала
ругаться (переполнение стека). Если удалить поисковое
поле, то данные нормально вводятся, но оно нужно.
Что здесь можно сделать?

Puh 28.12.2003 14:43

Извиняюсь за беспокойство.
Я уже сам разобрался.
По-прежнему мешала связь между таблицами. Пришлось обнулять Table2.MasterSource, а после введения данных снова устанавливать.

someone312002 29.12.2003 11:08

Совет на будущее:
ситуация - добавление записи в ОСНОВНУЮ таблицу, к основной таблице через внешние ключи (в оракл - это констрейнты) подключены ТУЕВА ХУЧА всевозможных вспомогательных таблиц.
Что на экране - Основная форма МДИ, форма листинг - список, полученный запросом, связывающий НЕСКОЛЬКО ТАБЛИЦ (форма немодальная, навигатор, фильтр, поиск, быстрый фильтр(грубый), доб.инфо, данные в Гриде необновляемы, курсор в гриде в виде строки, не ячейка), модальная форма внесения изменений/дополнений в основную таблицу, основной Дата Сорс - твоя адо таблица. Надеюсь, не стОит объяснять тебе что такое ЛукАп поля ? Нет, ну и ладно. Вот через это ЛукАп поле (и соответственно ЛукАп компонент) будут вызываться второе МОДАЛЬНОЕ окошко, которое будет отвечать за добавление записей в подчинённую таблицу! Тогда и не будет твоей проблемы.
Алгоритм добавления записи - ОСНОВНУЮ таблицу в АППЕНД режим, проставил некоторые поля, дошёл до поля, где подставляется значение (ключ) из подчинённой таблице, а нужной записи нет - жамкай на три кнопки, выводи второе модальное окно, подчинённую таблицу в АППЕНД, добавляй необходимую тебе запись, коммит (сохрани), значение ключа новой записи в параметр, возвращаемый этим окном, продолжай заполнение ОСНОВНОЙ таблицы с УЖЕ ИМЕЮЩЕЙСЯ СОХРАНЁННОЙ ЗАПИСЬЮ в подчинённой таблице.
Всё опробовано не раз, работает!!!

УДАЧИ!!! И С НАСТУПАЮЩИМ!!!

Puh 30.12.2003 13:08

Спасибо!
Тоже с НАСТУПАЮЩИМ!!!


Часовой пояс GMT +4, время: 03:23.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.