Вниз
Скачать: CL | DM;

Вычисляемые поля   Найти похожие ветки 

← →
Ruslana   (2004-08-27 10:29) [0]

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;
По отдельности для каждой записи получается но это очень неудобно
я попробовала сделать ткой цикл но почему то не получается
Я пробовала еще сделать как вычисляемые поля но там значение вычисления не пишется (постится) в базу


← →
Ozone ©   (2004-08-27 10:48) [1]

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


← →
Ruslana   (2004-08-27 11:05) [2]

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


← →
Sergey13 ©   (2004-08-27 11:23) [3]

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


← →
Ruslana   (2004-08-27 11:50) [4]

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


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

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


← →
Ruslana   (2004-08-27 12:37) [6]

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


← →
Sergey13 ©   (2004-08-27 12:43) [7]

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


← →
s999   (2004-08-27 12:57) [8]

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

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

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;


← →
Ruslana   (2004-08-28 10:20) [9]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.021 c
1-1095086370
Lord de Mon
2004-09-13 18:39
2004.09.26
ShellExecute


4-1092550731
DillerXX
2004-08-15 10:18
2004.09.26
Как изменить положения курсора мыши, но


1-1094724867
Pashkerton
2004-09-09 14:14
2004.09.26
Mutex handle


14-1094283240
Stany
2004-09-04 11:34
2004.09.26
биллингова система


3-1093506434
Yrtimd
2004-08-26 11:47
2004.09.26
Синхронизация изменений в данных




   Наверх