Вниз
Скачать: CL | DM;

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

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
15-1169140576
$Pl@Sh
2007-01-18 20:16
2007.02.11
У кого-нить такое было?


1-1166135792
conless
2006-12-15 01:36
2007.02.11
ScrollBox, помогите разобраться!


15-1169091964
Одя
2007-01-18 06:46
2007.02.11
Существуют ли программы перевода сишных макросов в Паскаль?


3-1163962355
Firefly
2006-11-19 21:52
2007.02.11
Поле autoincrement в Oracle


15-1169040549
kudatsky
2007-01-17 16:29
2007.02.11
Файл Rtl70.bpl




   Наверх