Filter問題 |
尚未結案
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
直接用Filter是不能实现这样的多重查询的,您可以用下面的方法实现; procedure TForm1.Button1Click(Sender: TObject);
begin
try
adodataset1.filtered:=false;
finally
adodataset1.filtered:=true;
end; end; procedure TForm1.ADODataSet1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var
name:string;
level:integer;
begin
name:=dataset.fieldbyname('name').asstring;
level:=dataset.fieldbyname('level').AsInteger;
if (name='user') and (level=1) or (level=2) or (level=3) then
accept:=true
else
accept:=false;
end;
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
|
SuperLowB
初階會員 發表:96 回覆:77 積分:34 註冊:2003-06-11 發送簡訊給我 |
引言: Hello SuperLowB 您好: 先試一下這個Miles, 你試過了沒有? 真的不能!! sos_admin, 你的方法是可行,但個recordcount就不準了......它不是真的filter了,宜是把它invisble了......ADODataset1.Filtered:=false; ADODataset1.Filter='(1 Or 2 or 3) and sex=true'; ADODataset1.Filtered:=true;並請確認裡面的型態沒有錯誤, 也就是UserID在資料庫中皆為數字 Sex為Boolean型態欄位 我不是高手, 高手是正在銀幕前微笑的人. |
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
SuperLowB 兄:
您可以用下面的方法实现!
procedure TForm1.ADODataSet1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var
name:string;
level:integer;
begin
name:=dataset.fieldbyname('name').asstring;
level:=dataset.fieldbyname('level').AsInteger;
if (name='user') and (level=1) or (level=2) or (level=3) then
accept:=true
在这儿加上全局计数就可以了!>
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 請問我可以這樣寫嗎? ADODataset1.Filtered:=false; ADODataset1.Filter='1 Or 2 or 3 and sex=true'; ADODataset1.Filtered:=true; 但我不能........常常話我 'Arguments are of the wrong type, are out of acceptable range or are in conflict with on another.'改用這樣試試看: ADODataset1.Filtered:=false; ADODataset1.Filter='(1 and sex=true) Or (2 and sex=true) or (3 and sex=true)'; ADODataset1.Filtered:=true; ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~ |
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
引言:本來recordcount就不是指FILTER後的recordcount而是第一次SELECT出來的 recordcount 所以sos_admin的做法是可以接受的 如你要的recordcount是FILTER後的recordcount那就要另外處理了 天行健 君子當自強不息~~@.@引言: Hello SuperLowB 您好: 先試一下這個Miles, 你試過了沒有? 真的不能!! sos_admin, 你的方法是可行,但個recordcount就不準了......它不是真的filter了,宜是把它invisble了......ADODataset1.Filtered:=false; ADODataset1.Filter='(1 Or 2 or 3) and sex=true'; ADODataset1.Filtered:=true;並請確認裡面的型態沒有錯誤, 也就是UserID在資料庫中皆為數字 Sex為Boolean型態欄位 我不是高手, 高手是正在銀幕前微笑的人.
------
天行健 君子當自強不息~~@.@ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |