限制記錄子集的數(shù)據(jù)

此頁(yè)沒(méi)有內(nèi)容條目
內(nèi)容

expandtri全部顯示

在處理記錄時(shí),經(jīng)常需要將數(shù)據(jù)限制為特定記錄集。某些過(guò)程使用 criteria 參數(shù)來(lái)指定應(yīng)該返回的數(shù)據(jù)。例如,當(dāng)使用域聚合函數(shù)時(shí),可指定 criteria 參數(shù)來(lái)限制應(yīng)該返回的記錄。在使用 Recordset 對(duì)象的 Find 方法、設(shè)置窗體的 FilterServerFilter 屬性,或者構(gòu)建 SQL 語(yǔ)句時(shí),也可以指定條件。盡管這些運(yùn)算各自包含不同的語(yǔ)法,但可以用類(lèi)似的方法為每種運(yùn)算構(gòu)建條件表達(dá)式。

例如,可以用 DSum 函數(shù)(一種域聚合函數(shù))計(jì)算“訂單”表中所有貨運(yùn)成本的總和。通過(guò)在 ControlSource 屬性中輸入下列表達(dá)式,可以創(chuàng)建一個(gè)計(jì)算控件。

=DSum("[Freight]", "Orders")

如果指定可選的 criteria 參數(shù),DSum 函數(shù)將在 domain 的子集上執(zhí)行。例如,可以在“訂單”表中只查找那些發(fā)送到 California 的訂單的貨運(yùn)成本總和:

=DSum("[Freight]", "Orders", "[ShipRegion] = 'CA'")

當(dāng)提供 criteria 參數(shù)時(shí),Microsoft Access 首先計(jì)算參數(shù)中包含的所有表達(dá)式,以形成字符串表達(dá)式。然后將字符串表達(dá)式傳遞給域函數(shù)。該字符串表達(dá)式等同于不含 WHERE 的 SQL WHERE 子句

可以指定數(shù)值、文本或日期/時(shí)間條件。無(wú)論指定的是何種類(lèi)型的條件,criteria 參數(shù)在傳遞給域聚合函數(shù)之前總是先轉(zhuǎn)換為一個(gè)字符串。因此,必須確保在所有表達(dá)式都計(jì)算之后,參數(shù)的所有部分都連接為一個(gè)字符串,并且整個(gè)字符串都用雙引號(hào) (") 括起來(lái)。

在構(gòu)建條件時(shí)要注意確保正確地連接字符串。

下列主題列表簡(jiǎn)述了可以指定條件的各種方法:

數(shù)值條件表達(dá)式

文本條件表達(dá)式

日期與時(shí)間條件表達(dá)式

更改來(lái)自窗體上控件的數(shù)值條件

更改來(lái)自窗體上控件的文本條件

更改來(lái)自窗體上控件的日期與時(shí)間條件

條件表達(dá)式中的多個(gè)字段