![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вычисляемое поле [D6, MSAccess]
Mmmaloy © (2007-01-25 17:20:00)есть две таблицы в связи 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.
Как победить? Спасибо
Mmmaloy (2007-01-26 00:45:00) [1]Что, действительно такой глупый вопрос, что только в начинающих и годиться?
Mmmaloy (2007-01-25 20:43:00) [2]// Если да, то почему ты решил, что навигационные методы типа First, Next и т.п. распространяются (в данном случае) только на соотв.записи детали?
Я так считал (сейчас уже нет), потому как details (notizen_dset) привязана к master (personen_dset). Но по видимому OnCalcFields можно с уверенностю говорить только об одной записи из того DataSet, для которого этот обработчик и создан.
Завтра попробую подругому, идеи уже у меня есть
Johnmen (2007-01-25 17:46:00) [3]А-а-а.. Я кажись понял смысл, несмотря на то, что ты его скрываешь.
Хочешь иметь в выч.поле некоторый результат действия над соответствующими записями из детального НД?
Если да, то почему ты решил, что навигационные методы типа First, Next и т.п. распространяются (в данном случае) только на соотв.записи детали?
Mmmaloy (2007-01-25 17:39:00) [4]Смысл есть, иначе не извращался бы.
Johnmen (2007-01-25 17:33:00) [5]А в чём сакральный смысл сего извращения?