請問dbgrid和dbedit相加總的問題!! |
尚未結案
|
suzukiyamaru
一般會員 發表:18 回覆:8 積分:5 註冊:2003-06-09 發送簡訊給我 |
請問一下大大當我dbgrid有一行要做加總的動作應該要怎麼進行呢!!是像下面這樣先判斷有幾行在作加總然後最後在跟dbedit做相加嗎!! Table2.First;
while not Table2.eof do begin
price:=table2.Fields[3].AsInteger;
label9.Caption:=inttostr(price) ;
Table2.Next;
end;
label9.caption:= strtoint(label9.caption dbedit1.Field.Value); 是這樣作嗎!!可是還是會有錯誤呢!!請大大教一下!!
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
Table2.First;
while not Table2.eof do begin
price:=price table2.Fields[3].AsInteger;
Table2.Next;
end;
if table1.State=DsBrowse then table1.Edit; //這是判斷你dbedit的DataSouce是否為可編輯狀態
table1.Fields[1].AsInteger:= table1.Fields[1].AsInteger price;
table1.Post;
TRY TRY SEE
|
stonys
初階會員 發表:64 回覆:111 積分:38 註冊:2002-09-28 發送簡訊給我 |
您好~
如果您是針對一行要作加總動作可以考慮兩種做法
1.依您的寫法,但加上一個暫存變數,如下: var temp_price,price:integer
begin
price:=0;
Table2.First;
while not Table2.eof do begin
temp_price:=table2.Fields[3].AsInteger;
price:=price temp_price;
Table2.Next;
end;
label9.caption:= inttostr(price); 2.拉一個Qurey元件...然後下SUM的指令:
begin
Query.CLOSE;
Query.SQL.Clear;
Query.SQL.Add('SELECT SUM(fieldname)' from TableName);
Query.Open;
label.caption:= inttostr(Query.FieldByName(fieldname).AsInteger); PS:
label9.caption:= strtoint(label9.caption dbedit1.Field.Value);
您這行有很大的觀念錯誤
因為caption是string的型態...你卻又將string轉換成int...故可能觀念地方要再稍微加強一下,請參考!
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |