我想計算所有字段並添加總字段。我怎樣才能做到這一點?我用sql命令做了這個,但我不知道如何每次更新dbgrid
。
我的代碼:如何計算所有字段和帖子(SQL /或onCalcFields)
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'select names,big1,small1,black1,big2,small2,big3,'+
'((big1+small1+black1+big2+small2+big3)*0.35) as total from adlar7v';
ADOQuery1.Open;
end;
當我運行這段代碼第一次它的工作原理,但第二次的更改不會出現在網格中。
方法二:
我這樣做是與TAdoQuery.OnCalcField
事件,但有一個問題。
我知道如何計算領域,但我不知道怎麼乘另外畢竟場
我的代碼:
ADOQuery1.FieldValues['total'] :=
ADOQuery1.FieldValues['big1'] + ADOQuery1.FieldValues['small1'] +
ADOQuery1.FieldValues['black1'] + ADOQuery1.FieldValues['big2'] +
ADOQuery1.FieldValues['small2'] + ADOQuery1.FieldValues['big3'];
ADOQuery1.FieldValues [ 'CEMI']:=( (ADOQuery1.FieldValues ['boyuk1'] + ADOQuery1.FieldValues ['boyuk2'] + ADOQuery1.FieldValues ['boyuk3'])* 0.35)+((ADOQuery1.FieldValues ['kicik1'] + ADOQuery1.FieldValues ['kicik2' ])* 0.25)+(ADOQuery1.FieldValues [ 'qara1'] * 0.30);
您好我想發佈計算字段(cemi)到表(sql)。當我計算所有字段的最後一個字段不會發布在SQL表上。因爲最後一個領域(cemi)類型fkcalc我怎麼能張貼fkcalc類型字段在此先感謝!
可能的複製https://stackoverflow.com/questions/37291757 –
你是什麼意思「塞康d時間「在你的第一個方法?你的意思是說,如果你改變網格中數列中的一個數值,該行「總數」列中的數值不會改變? – MartynA
你想在所有行(垂直)中總計單行(水平)中的所有字段還是單個列=字段?爲什麼你甚至需要乘法? –