Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 05:03 30.06.24 
Клубове/ Компютри и Интернет / Delphi Пълен преглед*
Информация за клуба
Тема Calculated fields [re: mole.]
Автор andrew_nikoloff (bugbuster)
Публикувано12.01.05 16:04  



Калкулируемите полета представляват фийлдове, чиято стойност се получава от самата ти програма, а не от базата данни. Стойността им се изчислява в събитието OnCalcFields на дейтасет-а. То се вика за всеки отделен запис, когато трябва да се изчисли стойността му.
Пример - селектираш две числа от базата данни и искаш в трето (калкулируемо) поле да показваш сумата им. Ако двете полета ти се казват F1 и F2 и си си създал калкулируаемо поле F3, то в OnCalcFields на таблицата трябва да напишеш:


procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('F3').AsFloat := DataSet.FieldByName('F1').AsFloat + DataSet.FieldByName('F2').AsFloat;
end;

Не познавам логиката на твоето приложение и не съм убеден, че използването на калкулируеми полета е най-удачният вариант, но за да го направиш така трябва да напишеш нещо такова:

procedure TForm1.Table1CalcFields(DataSet: TDataSet);
var
ID: Integer;
begin
ID := DataSet.FieldByName('ID_NA_CHOVEK_ILI_FIRMA');
if Is_ID_Na_Firma(ID) then
DataSet.FieldByName('IME_NA_CHOVEK_ILI_FIRMA').AsString := VarToStr(tbFirma.Lookup('ID', ID, 'IME'))
else
DataSet.FieldByName('IME_NA_CHOVEK_ILI_FIRMA').AsString := VarToStr(tbChovek.Lookup('ID', ID, 'IME'));
end;

Другият (по-добрият) вариант е, както ти предлага Vermax, да си вземеш нещата още в заявката.



Цялата тема
ТемаАвторПубликувано
* Lookup & Calculated problem mole.   12.01.05 12:07
. * Re: Lookup & Calculated problem andrew_nikoloff   12.01.05 13:04
. * Re: Lookup & Calculated problem mole.   12.01.05 13:16
. * Re: Lookup & Calculated problem andrew_nikoloff   12.01.05 13:39
. * Re: Lookup & Calculated problem mole.   12.01.05 14:09
. * може би .... Vermax   12.01.05 15:25
. * Calculated fields andrew_nikoloff   12.01.05 16:04
. * Re: Calculated fields mole.   12.01.05 16:42
. * Re: Calculated fields andrew_nikoloff   12.01.05 17:25
. * Още мъгла за разсейване :-) mole.   12.01.05 18:04
. * А базата все пак каква е :) andrew_nikoloff   12.01.05 18:43
. * Re: А базата все пак каква е :) mole.   12.01.05 19:44
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.