Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

Была сделана примитивная задачка.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.012 c
1-48031
Вечно молодой
2002-08-03 18:35
2002.08.15
TStringList


1-48157
quark
2002-07-29 21:58
2002.08.15
как получит список файлов в папке учитывая вложенные?


3-47947
kserg@ukr.net
2002-07-04 13:07
2002.08.15
PReport


1-48055
anod
2002-08-02 22:28
2002.08.15
Иконка в трее :)


1-48116
Jusic
2002-08-01 00:57
2002.08.15
Как очистить содержимое Canvas а у TImage?