過期麵包數量 |
答題得分者是:c905165
|
新手上路1234
一般會員 發表:3 回覆:24 積分:15 註冊:2002-12-27 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 請問各位高手: 我有一個 TTABLE 共有4 欄 如下 麵包名稱,製造日期,有效天數,是否過期 如何 取得 過期麵包數量未告知你的來源資料庫及欄位為何, 舉例(以TTable最基本用法) MANUFDATE=製造日期 (字串型態) edit1=指定日期的 TEdit totrec=記錄筆數 Table1.Filterd:= True; Table1.Filter:= 'MANUFDATE<=''' edit1.Text ''''; Table1.Open; totrec:= Table1.RecordCount; |
c905165
中階會員 發表:50 回覆:120 積分:54 註冊:2002-09-29 發送簡訊給我 |
|
新手上路1234
一般會員 發表:3 回覆:24 積分:15 註冊:2002-12-27 發送簡訊給我 |
|
payne
初階會員 發表:1 回覆:40 積分:38 註冊:2002-04-19 發送簡訊給我 |
|
wenberg
一般會員 發表:6 回覆:15 積分:9 註冊:2002-12-26 發送簡訊給我 |
|
新手上路1234
一般會員 發表:3 回覆:24 積分:15 註冊:2002-12-27 發送簡訊給我 |
[quote]
我以 P.D.範例如下
正常可過濾出來 感謝各位的回答: 但我還有幾點疑問
1.若以 P.D.範例
則我須多一個TABLE 來作過濾
有沒有辦法 只用一個 TABLE , 而不須多一個做過濾 procedure TForm1.Button1Click(Sender: TObject);
begin
ADOTable1.Open;
ADOTable1.Filtered:= True;
ADOTable1.Filter:= '製造日期<=''' edit1.Text '''';
ADOTable1.Open;
Label1.Caption:= IntToStr(ADOTable1.RecordCount);
end; 2.若以 c905165 範例 及 payne 範例
我要把下面的語法寫在那理呢? select count(是否過期) from TTABLE where 是否過期='y' group by 是否過期 SELECT [麵包名稱],count(*) as count FROM [Table Name] WHERE [是否過期]='過期' GROUP BY [麵包名稱],[是否過期]
HAVING [是否過期]='過期'
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject);
var
Find:Variant;
Str:String;
begin
Find:=Table1.lookup('麵包名稱';'過期日期',VarArrayof([Edit1.Text,Edit2.Text]),'麵包名稱','過期日期';Salary);
if not VarIsNull(Find) then
begin
Str:=Str+VarToStr(FindResult[0])+#13;
Str:=Str+VarToStr(FindResult[1])+#13;
ShowMessage(Str);
end;
end;
引言: 1.若以 P.D.範例 則我須多一個TABLE 來作過濾 有沒有辦法 只用一個 TABLE , 而不須多一個做過濾 procedure TForm1.Button1Click(Sender: TObject); begin ADOTable1.Open; ADOTable1.Filtered:= True; ADOTable1.Filter:= '製造日期<=''' edit1.Text ''''; ADOTable1.Open; Label1.Caption:= IntToStr(ADOTable1.RecordCount); end; 2.若以 c905165 範例 及 payne 範例 我要把下面的語法寫在那理呢? select count(是否過期) from TTABLE where 是否過期='y' group by 是否過期 SELECT [麵包名稱],count(*) as count FROM [Table Name] WHERE [是否過期]='過期' GROUP BY [麵包名稱],[是否過期] HAVING [是否過期]='過期'
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
banson1716
高階會員 發表:55 回覆:182 積分:167 註冊:2002-04-14 發送簡訊給我 |
資庫為 製造日期 有效天數 到期日期
須取得今日日期比較
到期日期作成自動更新而增加數量欄位從中可體會出應??作了 procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Edit;
ADOQuery1.FieldByName('到期日期').value:= ADOQuery1.FieldByName('製造日期').value ADOQuery1.FieldByName('有效天數').value;
ADOQuery1.Post;
end; procedure TForm1.Button2Click(Sender: TObject);
Var D : integer;
begin
Adoquery1.Active:=false;
Adoquery1.Close;
Adoquery1.SQL.Clear;
ADOQuery1.SQL.Append('SELECT * FROM 麵包 WHERE 到期日期 <= Now');
ADOQuery1.Active:=true;
ADOQuery1.Filtered:= True;
end; procedure TForm1.ADOQuery1BeforeRefresh(DataSet: TDataSet);
begin
ADOQuery1.Edit;
ADOQuery1.FieldByName('到期日期').value:= ADOQuery1.FieldByName('製造日期').value ADOQuery1.FieldByName('有效天數').value;
ADOQuery1.Post;
end; procedure TForm1.FormCreate(Sender: TObject);
begin
Label4.Caption := 'Today is ' DateToStr(Date);
end; procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
if ADOQuery1.FieldByName('到期日期').value <= date then
begin
DBEdit2.Font.Color:= ClRed;
end
else
if ADOQuery1.FieldByName('到期日期').value > date then
begin
DBEdit2.Font.Color:= ClBlack;
end;
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |