统计filter后的sum值 |
答題得分者是:Fishman
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
各位高手:
小弟想问一下,我使用了adoquery的filter功能,但我用sum之后出来的却是所有recorders的总和,而不是filter后的总和,有何好的方法吗?是否只能用sql中的like功能?我是用delphi6和sql7,code如下,多谢了!
adoquery1.Active:=false;
ADOquery1.Filtered := False;
ADOquery1.Filter := 'name Like %' edit1.Text '%;
ADOquery1.Filtered := True; adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('SELECT *');
adoquery1.sql.add('FROM mytable');
adoquery1.sql.add('UNION ALL');
adoquery1.sql.add('SELECT ' '总计' '''' 'AS name' ',');
adoquery1.sql.add('SUM(je3) AS je3, NULL AS dj');
adoquery1.sql.add('FROM mytable');
adoquery1.Active:=active;
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi luowy651, 建議不要用 Filter,直接由 SQL Command 中過濾資料,程式修改如下:
procedure TForm1.Button1Click(Sender: TObject); var filteer : string; begin filter := 'name like ' quotedstr('%' edit1.text '%'); adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('select *'); adoquery1.sql.add('from mytable'); adoquery1.sql.add('where ' filter); adoquery1.sql.add('union all'); adoquery1.sql.add('select ' '??' '''' 'as name' ','); adoquery1.sql.add('sum(je3) as je3, null as dj'); adoquery1.sql.add('from mytable'); adoquery1.sql.add('where ' filter); adoquery1.active:=active; end;---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi luowy651 你好:
Filter的功能是將已經Open出來的資料做篩選, 所以本身沒有加總的功能, 建議直接從SQL指令下手.
adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('SELECT *'); adoquery1.sql.add('FROM mytable'); adoquery1.sql.add('UNION ALL'); adoquery1.sql.add('SELECT ' '总计' '''' 'AS name' ','); adoquery1.sql.add('SUM(je3) AS je3, NULL AS dj'); adoquery1.sql.add('FROM mytable'); adoquery1.sql.add('Where name Like ''%' edit1.Text '%'''); adoquery1.Open;我不是高手, 高手是正在銀幕前微笑的人. Sorry Fishman大大已經先有答覆了 發表人 -
------
我不是高手, 高手是正在銀幕前微笑的人. |
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |