Главная страница
    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.45 MB
Время: 0.055 c
3-1164284677
salexn
2006-11-23 15:24
2007.02.11
Ошибка при установке MSSQL 2000, проблемы с драйвером ODBC


2-1169205482
_ozzy_
2007-01-19 14:18
2007.02.11
Числа пропистью


2-1169615914
ashnurov
2007-01-24 08:18
2007.02.11
Как сделать случайный вывод текста


15-1169220677
pavelaver
2007-01-19 18:31
2007.02.11
как решить задачу


3-1164209328
Kolan
2006-11-22 18:28
2007.02.11
Данные на DBGrid е отображаются, а на DBCombobox - нет, почему?





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