Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];

Вниз

Вычисляемое поле   Найти похожие ветки 

 
Mmmaloy   (2007-01-25 17:20) [0]

есть две таблицы  в связи master - details

Нужно в master сделать поле, что бы в него входила вся информация из details.

Создал вычисляемое поле. а вот процедура вычисления:


procedure TDM1.personen_dsetCalcFields(DataSet: TDataSet);
var
  st: String;

begin
    st := "";

    if (notizen_dset.Active = true) then
    begin
         notizen_dset.First;
         while not notizen_dset.Eof do
         begin
              st := st + Copy(notizen_dsetdatum_add.AsString, 1, 10) + ": "; // DATA

              if (notizen_dsetthematik_abk.AsString <> "") then
              begin
                   st := st + notizen_dsetthematik_abk.AsString;
                   if (notizen_dsetnotizen.AsString <> "") then
                   begin
                        st := st + " - "
                   end;
              end;
              st := st  +  notizen_dsetnotizen.AsString + #13#10;

              notizen_dset.Next;
         end;
    end;

    personen_dsetnotizen.Value := st;
end;


Надеюсь смысл понятен. Внутри функции перебираются поля из таблицы details. Так вот, что - то вычисляет, но обсолютно неправильно, т.е. значения из details в момент расчета не соответсвуют реальным, как буд-то бы в момент расчета, details привязана совсем к другой записи master.

Как победить? Спасибо


 
Johnmen ©   (2007-01-25 17:33) [1]

А в чём сакральный смысл сего извращения?


 
Mmmaloy   (2007-01-25 17:39) [2]

Смысл есть, иначе не извращался бы.


 
Johnmen ©   (2007-01-25 17:46) [3]

А-а-а.. Я кажись понял смысл, несмотря на то, что ты его скрываешь.
Хочешь иметь в выч.поле некоторый результат действия над соответствующими записями из детального НД?
Если да, то почему ты решил, что навигационные методы типа First, Next и т.п. распространяются (в данном случае) только на соотв.записи детали?


 
Mmmaloy   (2007-01-25 20:43) [4]

// Если да, то почему ты решил, что навигационные методы типа First, Next и т.п. распространяются (в данном случае) только на соотв.записи детали?

Я так считал (сейчас уже нет), потому как details (notizen_dset) привязана к master (personen_dset). Но по видимому OnCalcFields можно с уверенностю говорить только об одной записи из того DataSet, для которого этот обработчик и создан.

Завтра попробую подругому, идеи уже у меня есть


 
Mmmaloy   (2007-01-26 00:45) [5]

Что, действительно такой глупый вопрос, что только в начинающих и годиться?



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
15-1169076303
DeadMeat
2007-01-18 02:25
2007.02.11
DevExpress


2-1169473545
hgd
2007-01-22 16:45
2007.02.11
Вопрос по RGB


2-1169547358
Kymbat
2007-01-23 13:15
2007.02.11
Delphi i AdoConnection


15-1169218809
oldman
2007-01-19 18:00
2007.02.11
Современная Гуманитарная Академия.


2-1169640790
Light-blr
2007-01-24 15:13
2007.02.11
Можно ли из одного юнита взять константу другого?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский