如何把查巡到的資料筆數,記到edit上 |
尚未結案
|
giyar
一般會員 發表:1 回覆:2 積分:0 註冊:2004-04-27 發送簡訊給我 |
小弟使用的是ADO的資料庫,我打算用把找到的資料筆數顯示在EDIT上,資料表內容如下:
主鍵值 員工ID 是否通過 不良品數量 日期
1 B001 FALSE 8 2004/3/5
2 B001 TRUE 2 2004/4/5
3 B002 FALSE 7 2004/4/7
4 B003 TRUE 2 2004/4/13
5 B003 FALSE 9 2004/5/6 小弟是以員工ID和日期期間來做查巡條件,如果是以員工ID B001和2004/3/5~2004/5/1為要查巡的修件,小弟在資料總數(EDIT1)的值應為2,不通過次數(EDIT2)的值應為1,平均不良品數量(EDIT3)的值應為5。
但小弟的程度不佳,資料總數總是出現5,而不是2。且後面的程式就打不出來了!
不論用SQL也好,或任何方法,請幫忙!
PS:物件為ADOTABLE、DATASOUSE
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
|
giyar
一般會員 發表:1 回覆:2 積分:0 註冊:2004-04-27 發送簡訊給我 |
這是小弟的程式
procedure ADOTable1FilterRecord(DataSet: TDataSet;
var Accept: Boolean); var
EmClas: TEmClas;
myem: string; procedure TEmClas.ADOTable1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:=ADOTable1['員工ID']= myem;
end; procedure TEmClas.Button4Click(查巡鈕)(Sender: TObject);
begin
ADOTable1.Filtered:=false;
myem:=edit4.Text;(在edit4上輸入員工ID,後查巡)
edit1.text:=inttostr(ADOTable1.Recordcount);
ADOTable1.Filtered:=true;
end; 後面的不通過次數,平均不良品數量就全沒頭緒,查巡的還不包括日期!而我所知的Recordcount好像並不是正確的方法就是了!
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
Hi giyar:
您試試如下改變: procedure TEmClas.Button4Click(查巡鈕)(Sender: TObject);
begin
ADOTable1.Filtered:=false;
myem:=edit4.Text;(在edit4上輸入員工ID,後查巡)
ADOTable1.Filtered:=true
edit1.text:=inttostr(ADOTable1.Recordcount);;
end;
引言: 後面的不通過次數,平均不良品數量就全沒頭緒,查巡的還不包括日期!而我所知的Recordcount好像並不是正確的方法就是了!我會建議使用SQL 來取代ADOTABLE, 比較有彈性 例如: //不通過次數 SQL1:='SELECT COUNT(*) CNT FROM TABLE WHERE 通過=''FALSE'''; //平均不良品數量 SQL1:='SELECT AVG(數量) NUM FROM TABLE WHERE 您的條件'; ADOQuery1.Close; ADOQuery1.SQL.text:=SQL1; ADOQuery1.Open; edit1.text:=ADOQuery1.fieldbyName('NUM').asString; 您覺得如何呢?? 發表人 - yachanga 於 2004/04/28 13:41:10 |
giyar
一般會員 發表:1 回覆:2 積分:0 註冊:2004-04-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |