所謂過濾就是從表中選取滿足特定條件的部分記錄。過濾記錄首先要通過Filter。屬性設(shè)置過濾條件,然后將Filtered屬性設(shè)置為True,即可從數(shù)據(jù)集組件連接的表中過濾出滿足條件的記錄。
1.Filter屬性
Filter屬性用于設(shè)置過濾條件,它是一個字符串,格式類似于SQL。語句中的where條件部分。有兩種設(shè)置Filter屬性的方法。
(1)用戶在設(shè)計期間設(shè)置nlter屬性
可以使用關(guān)系運算符(<、<=、=、>、>=、<>)與邏輯運算符(And、No、OR)組成邏輯表達(dá)式。對班級編碼表TB03設(shè)置過濾條件為:選擇“2000年入學(xué)”的“五年制”班級記錄。在。Filter屬性中輸入:
TB0305=‘5’AND TB0303=‘2000’
(2)用戶在程序中設(shè)置Filter屬性
在程序中設(shè)置又有兩種情況:
①字段取值為常量,此時,代碼形式為:
Tablel.Filter:=’字段名’+’關(guān)系運算符’+常量;
字段名與關(guān)系運算符用單引號,而字符串常量用3對單引號括起來,例如:
Table—TB03.Filter:=‘TB0305’+‘=’+“5”;
②字段取值為變量,這時需要用到F0rmat函數(shù),其代碼形式為: Tablel.Fiher:=Format(‘字段名’+‘關(guān)系運算符’+”%s”,[變量]);
例如:table_TB03.Filter:=Format(”FB0303’+‘=’+“%s”,[Editl.Text]);
2.Filtered屬性
該屬性為True時,將使用Filter屬性中所設(shè)置的過濾條件,并觸發(fā)OnFi.1tel·Record事件。若為False則不使用過濾條件,顯示全部記錄。
上述I)ataSet組件的屬性在介紹Table組件時已基本講過,所以不再詳細(xì)舉例,數(shù)據(jù)集組件DataSet的響應(yīng)事件與Table組件的事件類似,此處也不再重復(fù)。
本書在此介紹DataSet組件的目的有兩個,第一個目的是使讀者了解數(shù)據(jù)集組件的層次結(jié)構(gòu)。第二個目的是使讀者總結(jié)數(shù)據(jù)集組件(如Table)的屬性,讀者必須清楚上述屬性、方法與事件對Quel了組件同樣適用。
1.Filter屬性
Filter屬性用于設(shè)置過濾條件,它是一個字符串,格式類似于SQL。語句中的where條件部分。有兩種設(shè)置Filter屬性的方法。
(1)用戶在設(shè)計期間設(shè)置nlter屬性
可以使用關(guān)系運算符(<、<=、=、>、>=、<>)與邏輯運算符(And、No、OR)組成邏輯表達(dá)式。對班級編碼表TB03設(shè)置過濾條件為:選擇“2000年入學(xué)”的“五年制”班級記錄。在。Filter屬性中輸入:
TB0305=‘5’AND TB0303=‘2000’
(2)用戶在程序中設(shè)置Filter屬性
在程序中設(shè)置又有兩種情況:
①字段取值為常量,此時,代碼形式為:
Tablel.Filter:=’字段名’+’關(guān)系運算符’+常量;
字段名與關(guān)系運算符用單引號,而字符串常量用3對單引號括起來,例如:
Table—TB03.Filter:=‘TB0305’+‘=’+“5”;
②字段取值為變量,這時需要用到F0rmat函數(shù),其代碼形式為: Tablel.Fiher:=Format(‘字段名’+‘關(guān)系運算符’+”%s”,[變量]);
例如:table_TB03.Filter:=Format(”FB0303’+‘=’+“%s”,[Editl.Text]);
2.Filtered屬性
該屬性為True時,將使用Filter屬性中所設(shè)置的過濾條件,并觸發(fā)OnFi.1tel·Record事件。若為False則不使用過濾條件,顯示全部記錄。
上述I)ataSet組件的屬性在介紹Table組件時已基本講過,所以不再詳細(xì)舉例,數(shù)據(jù)集組件DataSet的響應(yīng)事件與Table組件的事件類似,此處也不再重復(fù)。
本書在此介紹DataSet組件的目的有兩個,第一個目的是使讀者了解數(shù)據(jù)集組件的層次結(jié)構(gòu)。第二個目的是使讀者總結(jié)數(shù)據(jù)集組件(如Table)的屬性,讀者必須清楚上述屬性、方法與事件對Quel了組件同樣適用。