Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизВычисляемые поля Найти похожие ветки
← →
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 вся ветка
Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c