Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вычисляемые поля [D6, dBase, FoxPro]


Ruslana ©   (2004-08-27 10:29:00) 

procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c:variant;
begin
repeat
a:=table1.FieldByName('zn1').Value;
b:=table1.FieldByName('zn2').Value;
c:=a+b;
table1.FieldByName('itog').Value :=c;
until table1.Eof =true;

end;
По отдельности для каждой записи получается но это очень неудобно
я попробовала сделать ткой цикл но почему то не получается
Я пробовала еще сделать как вычисляемые поля но там значение вычисления не пишется (постится) в базу


Ruslana   (2004-08-28 10:20:00) [1]

Спасибо!!! видно сразу Мастера


s999   (2004-08-27 12:57:00) [2]

По-моему, девушка просто не справилась с написанием цикла, а "Вычисляемые поля" упомянула, чтобы запутать :)

Если это так, то:    

repeat/until использовать не надо (может быть 0 записей). Цикл стротся обычно так:

table1.First;
while not table1.EOF do
begin
 table1.Edit;
.....
a:=table1.FieldByName('zn1').Value;
b:=table1.FieldByName('zn2').Value;
c:=a+b;
table1.FieldByName('itog').Value :=c;
// если короче то:
//table1.FieldByName('itog').Value := table1.FieldByName('zn1').Value + table1.FieldByName('zn2').Value
.....
 table1.Post;
 table1.Next;
end;


Sergey13   (2004-08-27 12:43:00) [3]

Че то я нифига из твоего "русскоязычного" описания не пойму. 8-)


Ruslana   (2004-08-27 12:37:00) [4]

а поле итога так и так имееющиеся поле в базе данных (т.е. она реально существует) а программу фокспровскую нельзя переделать точнее постановки задачи стоит в вычислении разных сумм, для исползования в других приложениях


Rem   (2004-08-27 12:11:00) [5]

[4]
 Заведите дополнительное поле "itog" в базе данных и убрать вычисляемое поле из программы.
 А лучше переписать программу FoxPro, чтобы не использовала зависимые поля в своей работе.


Ruslana   (2004-08-27 11:50:00) [6]

Поле которое вычисляется в программе
Сергей13 я понимаю к чему Вы клоните, но в проблема в том что задача стоит исползование итогов вычислении в других приложениях в частности фокспроовской. И мне очень надо чтоб записывались в базу


Sergey13   (2004-08-27 11:23:00) [7]

2Ruslana   (27.08.04 11:05)
А которое поле у тебя "вычисляемое" и что в твоем понимании есть вычисляемое поле?


Ruslana   (2004-08-27 11:05:00) [8]

Ozone спасибо тебе!!
Но еще одна проблема это значение не постится в базу


Ozone   (2004-08-27 10:48:00) [9]

В DataSet'e у поля "itog" в обработчике OnGetText поставь Text = <zn1> + <zn2>


Наверх

Титульная страница Поиск, карта сайта Написать письмо