Форум: "Потрепаться";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];
ВнизБыла сделана примитивная задачка. Найти похожие ветки
← →
blackman (2002-07-19 11:14) [0]Есть бд acess с таблицей жителей города (Townspeople).
Для каждого жителя имеется набор характеристик (столбцы таблицы)
Например: номер телефонного узла, отделения милиции , теплового пункта,
наличие/отсутствие кодового замка в подъезде и т.п.
Естественно, что есть таблицы:
ТелУзел (код, адрес, начальник, телефон)
ОМ (код, адрес, начальник, телефон)
тепловые пункты (код, адрес, начальник, телефон, мощность, время ремонта).
----------------------------------
Нужно на DELPHI при просмотре в dbgrid Townspeople параллельно в Memo отражать
значения столбцов таблиц нижних узлов дерева (номер телефонного узла, ОМ и т.д.)
----------------------------------
Проблема в том, что количество характеристик непостоянно ( увеличивается или уменьшается).
Следовательно фиксированным набором Qwery или Table не обойтись.
Кто может предложить простое решение (алгоритм)?
Интересны Ваши варианты.
← →
GenBr (2002-07-19 11:22) [1]заполнять Мемо можно на OnCalcFields
← →
blackman (2002-07-19 11:24) [2]>GenBr
Заполнть это еще не проблема, а как открыть вложенные...
Их еще определить надо!
← →
GenBr (2002-07-19 12:21) [3]>blackman
1. Извиняюсь, заполнять нужно на AfterScroll
2. Открыть дочернюю табл - TDataSet.Open
3. Пройтись по доч. таблице и в зависимости от типа характеристики добавлять данные в Мемо из нужной справочной таблицы
4. Это, если я все понял правильно, в противном случае опиши структуру данных
← →
Viewer (2002-07-19 12:25) [4]Делай описание таблиц DDL и храни в отдельной таблице или где.
Динамически формируй через FieldDefs
← →
blackman (2002-07-19 14:02) [5]>GenBr
Все так, но сколько TDataSet, если "количество характеристик непостоянно "?
>Viewer
Похоже, но опять вопрос с TDataSet.Open
← →
Viewer (2002-07-19 15:21) [6]А в чем проблема ?
Формируй в одном датасете через SQL объединение нужных таблиц
и засасывай затем в memo
← →
blackman (2002-07-19 15:34) [7]>Viewer
Все верно, но редактировать еще хотят.
← →
Viewer (2002-07-19 15:41) [8]Редактировать чего ? Мемо ?
Вы уж не мешайте кислое с пресным и им не давайте изгаляться.
А справочники желательно через отдельные формы редактировать.
Это традиционный и не слишком замороченный путь.
← →
blackman (2002-07-19 15:45) [9]>Viewer
Ну, что значит изгаляться.
В принципе это возможно.
Тем более, что отдельные формы строить тоже не очень...
← →
Viewer (2002-07-19 15:50) [10]А вообще если таблицы постоянны:
>ТелУзел (код, адрес, начальник, телефон)
>ОМ (код, адрес, начальник, телефон)
>тепловые пункты (код, адрес, начальник, телефон, мощность, >время ремонта).
то формировать объединение и в одной строке показывать минимум необходимого, а для редактирования использовать поля ввода и по транзакции обновлять махом все справочники и основную
← →
Viewer (2002-07-19 15:53) [11]>Тем более, что отдельные формы строить тоже не очень...
Что значит "не очень" ?
Для справочников все равно формы нужны, да и нормально это как раз - сводить сложную задачу к подмножеству простых и типовых.
← →
blackman (2002-07-19 15:57) [12]>Viewer
Все верно, но не определяют они точно ни количество, ни состав справочников. Хотят менять в процессе работы. Собственно это и составляет проблему.
← →
Viewer (2002-07-19 15:58) [13]вызов окна справочника из основной формы нисколько не утруждает
пользователя, а наоборот акцентирует внимание на данной сущности
www.recop.hotmail.ru/forma.png
← →
Viewer (2002-07-19 16:02) [14]Ах вот оно, что..
Тогда не отделаться от предоставления инстументария встроенного или как.
Клиент должен сам определять структуру, типы данных или делать их все строковыми.
А ты уж должен фиксировать ее, привязывать таблицы к нужному узлу и динамически формировать.
Но все равно редактирование данных в справочниках желательно выносить в отделные формы.
← →
blackman (2002-07-19 16:10) [15]Все верно, но хотелось бы обойтись малой кровью.
>или делать их все строковыми
Нет проблем.
>www.recop.hotmail.ru/forma.png
Похоже, но все поля заранее определены, а в моем случае стоить edit"ы было бы слишком сложно.
Может Memo спасет ? Или ?
← →
Viewer (2002-07-19 16:37) [16]На самом деле сложного ничего нет.
Едиты строятся динамически по структуре таблицы.
Ессно для таблицы храняться и все вводо-определяющие вещи: заголовки, ограничение на длину или еще как
С мемо не связывайся - п.камней много будет.
← →
blackman (2002-07-19 16:42) [17]Спасибо на добром слове.
Может где нибудь есть Demo вариант по городскому хозяйству ?
← →
Viewer (2002-07-19 16:51) [18]Если ты о моем - то это клиентское место менеджера торговой компании, блок работы с клиентами о которых надо и хочеться знать ВСЕ.
Демо пока нет.
← →
blackman (2002-07-19 18:39) [19]Ну почему о твоем. Нет просто посмотреть перед боем,
как делали что-то похожеее.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c