Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.11;
Скачать: 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 вся ветка

Текущий архив: 2007.02.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.09 c
2-1169574821
-John-Doe-
2007-01-23 20:53
2007.02.11
Содержимое из WebBrowser в MemoryStream ???


15-1169119293
Rtn
2007-01-18 14:21
2007.02.11
Как востановить БД, из backup, под другим именем


2-1169538907
daser
2007-01-23 10:55
2007.02.11
Как написать консольное приложение с передачей ему параметров?


15-1169369047
властелин колхоза
2007-01-21 11:44
2007.02.11
Я фигею с этих статей...


2-1169464956
Max.66RUS
2007-01-22 14:22
2007.02.11
Вопрос по цветопередаче монитора...