Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.008 c
1-48141
BAY
2002-08-01 13:46
2002.08.15
блокировка events


3-47965
ShuraGrp
2002-07-25 12:56
2002.08.15
Ошибка insert select


1-48120
Proton
2002-07-30 19:30
2002.08.15
RoterPro


7-48333
SleD
2002-06-01 19:04
2002.08.15
Как осуществить по XP (2000, NT) следующее:


1-48023
SPeller
2002-08-03 08:29
2002.08.15
Вопрос о константах





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский