




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Access函數表達式的示例在MicrosoftAccess中許多操作中都要使用表達式,包括創建計算控件、查詢、篩選準則、默認值、有效性規則和宏的條件。通常,創建表達式最簡捷的方法就是找到類似的表達式示例,然后對它進行修改。請選擇:一、用于窗體和報表中的表達式示例1、處理窗體和報表中文本值的示例表列出了可在窗體和報表的計算控件中使用的表達式示例:表達式說明二N/A顯示N/A。二姓氏&名字顯示“姓氏”控件和“名字”控件的值,兩者之間以空格隔開。二Left(產品名稱,1)使用Left函數顯示“產品名稱”控件值的第一個字符。二Right(資產代碼,2)使用Right函數顯示“資產代碼”控件值的最后兩
2、個字符。二Trim(地址)使用Trim函數顯示“地址”控件的值,并且刪除首尾的空格。=IIf(IsNull(地區),城市&郵政編碼,城市&地區&郵政編碼)如果“地區”值為Null則使用IIf函數顯示“城市”和“郵政編碼”控件的值,否則顯示“城市、“地區”和“郵政編碼”控件的值,中間以空格分隔。注釋計算控件中的表達式應使用=操作符開頭。在設置計算控件的Name屬性時,應確保使用唯一的名稱。不要使用表達式中使用的控件名稱。Left函返回Variant(String),其中包含字符串中從左邊算起指定數量的字符。語法Left(string,length)Left函數的語法有下面的命名參數:部分說明st
3、ring必要參數。字符串表達式其中最左邊的那些字符將被返回。如果string包含Null,將返冋Null。length必要參數;為Variant(Long)。數值表達式,指出將返回多少個字符。如果為0,返回零長度字符串()。如果大于或等于string的字符數,則返回整個字符串。說明:欲知string的字符數,使用Len函數。注意:LeftB函數作用于包含在字符串中的字節數據。所以length指定的是字節數,而不是要返回的字符數。Right函Right函返回Variant(String),其中包含從字符串右邊取出的指定數量的字符。語法Right(string,length)Right函數的語法具
4、有下面的命名參數:部分說明string必要參數。字符串表達式,從中最右邊的字符將被返回。如果string包含Null,將返冋Null。length必要參數;為Variant(Long)。為數值表達式,指出想返回多少字符。如果為0,返回零長度字符串()。如果大于或等于string的字符數,則返回整個字符串。說明:欲知string的字符數,用Len函數。注意:RightB函數作用于包含在字符串中的字節數據。所以length指定的是字節數,而不是指定返回的字符數。LTrim、RTrim與Trim函數返回Variant(String),其中包含指定字符串的拷貝,沒有前導空白(LTrim)、尾隨空白(R
5、Trim)或前導和尾隨空白(Trim)。語法LTrim(string)RTrim(string)Trim(string)必要的string參數可以是任何有效的字符串表達式。如果string包含Null,將返回Null。IIf函根據表達式的值,來返回兩部分中的其中一個。語法IIf(expr,truepart,falsepart)IIf函數的語法含有下面這些命名參數:部分描述expr必要參數。用來判斷真偽的表達式。truepart必要參數。如果expr為True,則返回這部分的值或表達式。falsepart必要參數。如果expr為False,則返回這部分的值或表達式。說明:由于Ilf會計算true
6、part和falsepart,雖然它只返回其中的一個。因此要注意到這個副作用。例如,如果falsepart產生一個被零除錯誤,那么程序就會發生錯誤,即使expr為True。Choose函數從參數列表中選擇并返回一個值。語法Choose(index,choice-1,choice-2,.,choice-n)Choose函數的語法具有以下幾個部分:部分描述index必要參數,數值表達式或字段,它的運算結果是個數值,且界于1和可選擇的項目數之間。choice必要參數,Variant表達式,包含可選擇項目的其中之一。說明:Choose會根據index的值來返回選擇項列表中的某個值。如果index是1,
7、則Choose會返回列表中的第1個選擇項。如果index是2,則會返回列表中的第2個選擇項,以此類推。可以使用Choose來查閱一個列表中的項目。例如,如果index所指定的值為3,而choice-1=one、choice-2=two、且choice-3=three,那么Choose將返回three。當index代表一選項組中的值時,則這項功能將會特別有用。即使它只返回一個選項值,Choose仍然會計算列表中的每個選擇項。所以應該注意到這項副作用。例如,當在每個選擇項表達式中使用了MsgBox函數作為其中的一部分時,每計算一個選擇項,就會顯示一次消息框。當index小于1或大于列出的選擇項數目
8、時,Choose函數返回Null。如果index不是整數,則會先四舍五入為與其最接近的整數。If.Then.Else語句根據表達式的值有條件地執行一組語句。語法IfconditionThenstatementsElseelsestatements或者,可以使用塊形式的語法:IfconditionThenstatementsElseIfcondition-nThenelseifstatements.ElseelsestatementsEndIfIf.Then.Else語句的語法具有以下幾個部分:部分描述condition必要參數。一個或多個具有下面兩種類型的表達式:數值表達式或字符串表達式,其運
9、算結果為True或False。如果condition為Null,則condition會視為False。TypeOfobjectnameIsobjecttype形式的表達式。其中的objectname是任何對象的引用,而objecttype則是任何有效的對象類型。如果objectname是objecttype所指定的一種對象類型,則表達式為True,否則為False。statements在塊形式中是可選參數;但是在單行形式中,且沒有Else子句時,則為必要參數。一條或多條以冒號分開的語句,它們在condition為True時執行。condition-n可選參數。與condition同。elsei
10、fstatements可選參數。一條或多條語句,它們在相關的condition-n為True時執行。elsestatements可選參數。一條或多條語句,它們在刖面的condition或condition-n都不為True時執行。說明:可以使用單行形式(第一種語法)來做短小簡單的測試。但是,塊形式(第二種語法)則提供了更強的結構化與適應性,并且通常也是比較容易閱讀、維護及調試的。注意:在單行形式中,按照If.Then判斷的結果也可以執行多條語句。所有語句必須在同一行上并且以冒號分開,如下面語句所示:IfA10ThenA=A+1:B=B+A:C=C+B在塊形式中,If語句必須是第一行語句。其中的
11、Else,Elself,和EndIf部分可以只在之前加上行號或行標簽。If塊必須以一個EndIf語句結束。要決定某個語句是否為一個If塊,可檢查Then關鍵字之后是什么。如果在Then同一行之后,還有其它非注釋的內容,則此語句就是單行形式的If語句。Else和ElseIf子句都是可選的。在If塊中,可以放置任意多個ElseIf子句,但是都必須在Else子句之前。If塊也可以是嵌套的。當程序運行到一個If塊(第二種語法condition將被測試。如果condition為True,則在Then之后的語句會被執行。如果condition為False,則每個Elself部分的條件式(如果有的話)會依次
12、計算并加以測試。如果找到某個為True的條件時,則其緊接在相關的Then之后的語句會被執行。如果沒有一個ElseIf條件式為True(或是根本就沒有ElseIf子句),則程序會執行Else部分的語句。而在執行完Then或Else之后的語句后,會從EndIf之后的語句繼續執行。提示根據單一表達式來執行多種可能的動作時,SelectCase更為有用。不過,TypeOfobjectnameIsobjecttype子句不能在SelectCase語句中使用。2、頁碼表達式的示例下表列出了用戶在窗體“設計”視圖或報表“設計”視圖中可以使用的頁碼表達式示例以及在其他視圖中可以見到的結果。表達式結果二Page
13、1,2,3二Page&PagePage1,Page2,Page3二Page&Page&of&PagesPage1of3,Page2of3,Page3of3二Page&of&Pages&Pages1of3Pages,2of3Pages,3of3Pages=Page&/&Pages&Pages1/3Pages,2/3Pages,3/3Pages二Country&-&PageUK-1,UK-2,UK-3二Format(Page,000)001,002,0033、在窗體和報表中執行算術操作的示例表列出了可在窗體和報表的計算控件中使用的表達式示例:使用表達式MicrosoftAccess顯示二分類匯總+
14、運費“分類匯總”和“運費”控件值的總和。二付款日期卜裝運日期“付款日期”和“裝運日期”控件值的差。二價格壯06“價格”控件值的1.06倍(“價格”值增加6%)。二件數*價格“件數”和“價格”控件值的乘積。二雇員總數/國家總數“雇員總數”和國家總數控件值的比值。注釋:計算控件中的表達式應使用=操作符開頭。在設置計算控件的Name屬性時,應確保使用唯一的名稱。不要使用表達式中使用的控件名稱。在表達式中使用算術操作符(+,-,*,/)時,如果表達式中某個控件的值為Null,則整個表達式的值為Null。如果表達式中某個控件的一些記錄值可能為Null,可使用Nz函數將Null值轉化為0,例如:=Nz(分
15、類匯總)+Nz(運費)有關Nz函數的詳細內容如下:使用Nz函數可以返回0,或一個空字符串(),或者當一個變體型為Null時,該函數返回其它的指定值。例如,您可以使用該函數將Null值轉換為其它值并防止它通過表達式擴散。語法Nz(variant,valueifnull)Nz函數具有如下參數。參數說明variant各種數據類型的VariantValueifnull可選參數(除非在查詢中使用)。個Variant,提供當variant參數為Null時的返回值。該參數使您能夠返回一個值(除了0或空字符串以外的其匕值)。如果在杳詢的表達式中使用了不帶ValuelfNull參數的Nz函數,則對包含Null值
16、的字段,其返回結果將為空。當variant參數值為Null時,Nz函數返回0還是空字符串取決于上下文中該值是數值還是字符串。如果包含了可選的valueifnull參數,則當variant參數為Null時,Nz函數將返回由該參數指定的值。當variant參數值不為Null時,Nz函數返回variant參數值。說明:Nz函數對可能包含Null值的表達式是很有用的。要使表達式即使在包含Null值時也能計算得到一個非Null值,可使用Nz函數來返回0,空字符串,或一個自定義的返回值。例如,表達式2+varX在VariantvarX是Null時,返回一個Null值。然而,2+Nz(varX)卻返回2。您
17、可以經常使用Nz函數作為IIf函數的替代函數。例如,在以下的代碼中,需要用兩個包含IIf函數的表達式來返回想要的值。第一個包含IIf函數的表達式用于檢查變量的值,如果該值為Null就將它轉換為0。varTemp=IIf(IsNull(varFreight),0,varFreight)varResult=IIf(varTemp50,High,Low)在下一個示例中,Nz函數提供與第一個表達式相同的函數功能,并且一步即可獲得所需的值而不需要分兩步進行。varResult=IIf(Nz(varFreight)50,High,Low)如果為可選參數valueifnul提供了一個值,則當variant為
18、Null時,將返回該值。通過這個可選參數,可以避免使用含有IIf函數的表達式。例如,下面的下表達式使用IIf函數,在varFreight的值為Null時返回一個字符串。varResult=IIf(IsNull(varFreight),NoFreightCharge,varFreight)在下一個示例中,當varFreight為Null時,則Nz函數的可選參數提供了返回的字符串。varResult=Nz(varFreight,NoFreightCharge)4、引用窗體和報表中的值的示例表列出了可在窗體的計算控件中使用的表達式示例:使用表達式MicrosoftAccess顯示二Forms!訂單!
19、訂單號“訂單”窗體上“訂單號”控件值。二Forms!訂單!訂單子窗體!訂單分類匯總“訂單窗體上“訂單子窗體中的訂單分類匯總”控件值。二Forms!訂單!訂單子窗體!產品號.Column(2)“訂單”窗體上“訂單子窗體”中的“訂單號”多列列表框中第三列的值。(0代表第列,1代表第列,如此類推。)=Forms!訂單!訂單子窗體!價格*1.06“訂單”窗體上“訂單子窗體”中的“價格”控件值的1.06倍。(“價格”控件值增加6%)二Parent!訂單號當刖子窗體的主窗體或父窗體上的訂單號控件值。表列出了可在報表上的計算控件中使用的表達式示例:使用表達式MicrosoftAccess顯示二Reports
20、!發票!訂單號“發票”報表中的“訂單號”控件值。二Reports!總計!總計子報表!銷售總計“總計”報表中總計子報表”上的銷售總計”控件值。二Parent!訂單號當刖子報表的主報表或父報表中的“訂單號”控件值。注釋:計算控件中的表達式應使用=操作符開頭。在設置計算控件的Name屬性時,應確保使用唯一的名稱。不要使用表達式中使用的控件名稱。5、在窗體和報表中使用合計函數的示例表列出了可在窗體和報表中使用的表達式示例:表達式說明-Avg(運費)使用Avg函數顯示運費”控件的平均值。=Count(訂單號)使用Count函數顯示“訂單號”控件中的記錄數。=Sum(銷售)使用Sum函數顯示“銷售”控件值
21、的總和。=Sum(件數*價格)使用Sum函數顯示“件數”和“價格”控件值的乘積總和。二銷售/Sum(銷售)*100顯示銷售百分比,即“銷售”控件值與所有“銷售”控件值的總和的比值。注釋如果控件的Format屬性設置為Percent,則不要包含*100。注釋計算控件中的表達式應使用=操作符開頭。在設置計算控件的Name屬性時,應確保使用唯一的名稱。不要使用表達式中使用的控件名稱。在使用合計函數的表達式中不能使用控件的名稱。只能使用表、查詢或SQL語句中的字段名。有關在計算控件中使用合計函數的詳細內容如下:關于計算窗體或報表上的計算控件的總計值在使用合計函數如Sum,或域合計函數如Dsum計算總計
22、值時,不能在Sum函數中使用計算控件的名稱。而必須在計算控件中重復該表達式。例如:=Sum(件數*單價)不過,如果在基查詢中有一個計算字段,例如:=總值:件數*單價則可在Sum函數中使用該字段的名稱,如下所示:=Sum(總值)有關在查詢中創建計算字段的詳細內容如下:在查詢中計算記錄的總和、平均值、數量或其他總計使用查詢“設計”視圖中的“總計”行,可以對查詢中全部記錄或者一個或多個記錄組,計算一個或多個字段值的總和、平均值、數量、最小值、最大值、方差或標準偏差。使用“準則”行,還可以添加影響計算結果的準則。注釋也可以用“簡單查詢向導”來計算字段值的總和、平均值、數量、最小值或最大值但如果要添加準
23、則,就必須使用查詢設計網格。有關Sum函數的詳細內容如下:返回包含在指定查詢字段中一組值的總計。語法Sum(expr)其中expr代表一個字符串表達式,它或者標識一個字段,該字段包含要計算的數據;或者是一個表達式,它使用此字段中的數據來執行計算。在expr中的操作數可以包含表字段的名稱、常量或函數(此函數可以是內部的或用戶定義的,但不能是其他SQL合計函數)。說明Sum函數求字段中值的總和。例如,可用Sum函數計算貨運的總費用。Sum函數不計包含Null值的字段。下列示例顯示如何計算產品的UnitPrice(單價)及Quantity(數量)字段的合計:SELECTSum(UnitPrice*Q
24、uantity)ASTotalRevenueFROMOrderDetails;可以在一個查詢表達式之中使用Sum函數。也可以在QueryDef對象的SQL屬性中,或當創建一個基于SQL查詢的Recordset時,使用此表達式。有關DSum函數的詳細內容如下:DSum函數用于計算指定記錄集(一個域)中的一組值的總和。可以在VisualBasic、宏、查詢表達式或計算控件中使用DSum函數。例如,可以在查詢的計算字段表達式中使用DSum函數來計算一段時期某個特定雇員的總銷售量。也可以在計算控件中使用DSum函數來顯示特定產品的動態銷售總和。語法DSum(expr,domain,criteria)T
25、heDSum函數具有下列參數。參數說明expr表達式,用于標識要對其值作總計的字段。可以是指向表或查詢中字段的字符串表達式,也可以是執行在域合計函數中計算字段的表達式。在expr中可以包括表中字段的名稱、窗體上的控件、常量或函數。函數可以是內置的,也可以是用戶自定義的,但不能是另一個域合計函數或SQL合計函數。domain字符串表達式,代表組成域的記錄集。可以是表的名稱或查詢的名稱。criteria可選的字符串表達式,用于限制DSum函數執行的數據范圍。例如,criteria通常等價于SQL表達式中的WHERE子句,只是不含WHERE關鍵字。如果忽略criteria,DSum函數將在整個域范圍
26、內計算expr。任何包含在criteria中的字段必須同時也是domain中的字段,否則Dsum函數將返回Null。說明如果沒有記錄滿足criteria參數或者域中不包含任何記錄,DSum函數將返回Null。無論是在宏或模塊、查詢表達式或者在計算控件中使用DSum函數,都必須仔細地構造criteria參數以確保能夠正確地進行計算。在查詢的“準則”行、查詢中的計算字段表達式中或更新查詢的“更新到”行中均可以使用DSum函數指定準則。注釋:可以在總計查詢的計算字段表達式中使用DSum或Sum函數。如果使用DSum函數,將在數據分組之前計算總計值。如果使用Sum函數,則在字段表達式中的值計算之前進行
27、分組。如果需要顯示窗體或報表記錄源以外的字段值的總和,可能需要使用DSum函數。例如,如果有一個窗體顯示有關一種特定產品的信息。可以在計算控件中使用DSum函數來計算這種產品銷售額的運行總和。提示:如果要保持報表控件中的運行總和,當控件所基于的字段位于報表的記錄源中時,可以使用控件的RunningSum屬性,DSum函數還可用來保持窗體上的運行總和。注釋:使用該函數時,對domain中記錄未保存的更改將不包括在內。如果要讓DSum函數基于更改后的數據,必須先保存更改。方法是單擊“記錄”菜單上的“保存記錄”命令,或者將焦點移動到另一個控件,或使用Update方法。6、在窗體和報表中使用域合計函數
28、的示例表列出了可在窗體和報表中的計算控件上使用的表達式示例:表達式說明二DLookup(合同名稱,供應商,供應商號=Forms!供應商號)使用DLookup函數顯示“供應商”表的“供應商號”字段值等于活動窗體上的“供應商號”控件值時的“合同名稱”字段值。=DLookup(合同名稱,供應商,供應商號=Forms!新供應商!供應商號)使用DLookup函數顯示“供應商”表的“供應商號”字段等于“新供應商”窗體中的“供應商號”控件值時的“合同名稱”字段值。=DSum(訂單價值,訂單,顧客號=RATTC)使用DSum函數顯示“訂單”表中“顧客號”字段值為RATTC時的“訂單價值”字段值的總和。注釋:計
29、算控件中的表達式應使用=操作符開頭。在設置計算控件的Name屬性時,應確保使用唯一的名稱。不要使用表達式中使用的控件名稱。在使用域合計函數的表達式中不能使用控件的名稱。只能使用表、查詢或SQL語句中的字段名。有關在計算控件中使用域合計函數的詳細內容如下:在使用合計函數如Sum,或域合計函數如Dsum計算總計值時,不能在Sum函數中使用計算控件的名稱。而必須在計算控件中重復該表達式。例如:=Sum(件數*單價)不過,如果在基查詢中有一個計算字段,例如:=總值:件數*單價則可在Sum函數中使用該字段的名稱,如下所示:=Sum(總值)7、在窗體和報表上處理和計算日期的示例表列出了可在窗體和報表的計算
30、控件中使用的表達式示例:表達式說明=Date()使用Date函數顯示當前日期,顯示時用mm-dd-yy形式具中mm是月份(1到12),dd是日期(1到31),yy則是年份的最后兩個數字(1980到2099)。二Format(Now(),ww)使用Format函數顯示當刖日期在該年中所處的星期號,其中ww為1到53。二DatePart(yyyy,訂單日期)使用DatePart函數顯示“訂單日期”控件值的四位年份值。二DateAdd(y,-10,應付日期)使用DateAdd函數顯示“應付日期”控件值刖10天的日期值。二DateDiff(d,訂單日期,裝運日期)使用DateDiff函數顯示“訂單日期
31、”和“裝運日期”控件值之間相差的天數。注釋:計算控件中的表達式應使用=操作符開頭。在設置計算控件的Name屬性時,應確保使用唯一的名稱。不要使用表達式中使用的控件名稱。8、返回窗體和報表上的兩個值中一個值的示例表列出了可在窗體和報表的計算控件中使用的表達式示例:表達式說明=IIf(確認=是,訂單已確認,如果“確認”控件的值為“是”則IIf函數顯示“訂訂單沒有確認)單已確認”信息,否則顯示“訂單沒有確認。=IIf(IsNull(國家),國家)如果“國家”控件值為Null則IIf函數顯示空字符串,否則顯示“國家”控件的值。=IIf(IsNull(地區),城市&郵政編碼,城市&地區&郵政編碼)如果“
32、地區”控件值為Null則IIf函數顯示“郵政編碼”和“城市”控件的值,否則顯示“城市”“地區”和“郵政編碼”控件的值。=IIf(IsNull(付款日期-裝運日期),檢杳丟失日期,付款日期-裝運日期)如果“付款日期”減去“裝運日期”的值為Null則Iif函數顯示“檢杳丟失日期”信息,否則顯示“付款日期”和“裝運日期”控件值之差。注釋計算控件中的表達式應使用=操作符開頭。在設置計算控件的Name屬性時,應確保使用唯一的名稱。不要使用表達式中使用的控件名稱。9、創建表達式所謂創建表達式,實際上是將標識符、值和運算符組合為一整體以產生某一結果。表達式可以是簡單的算術表達式,例如(1+1),其結果為2;也可以執行復雜的數據運算,例如下列的有效
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機合成材料的教學設計
- 2025至2030年中國汽車前車門行業投資前景及策略咨詢報告
- 2025至2030年中國楊木排骨條行業投資前景及策略咨詢報告
- 2025至2030年中國三癸烷基甲基氯化銨行業投資前景及策略咨詢報告
- 綠色信貸政策激勵機制的協調研究
- 機械與設備制造企業經營管理方案
- 小學音樂教育中跨學科課程的設計與實施
- 統編版 四年級語文下冊期中測評卷(試卷)(含答案)
- 電機企業經營管理方案
- 中小學語文閱讀教學評價在教育體系中的定位與作用
- 2025年稅務師考試全面覆蓋試題及答案
- 通信登高作業管理制度
- 小學科學教育與信息技術融合心得體會
- TCAWAORG 014-2024 老年綜合評估及干預技術應用規范
- 機器人協同控制系統-深度研究
- 七年級上冊歷史考點清單(背誦版)
- 基于IPv6的校園網升級改造
- DB33T 2320-2021 工業集聚區社區化管理和服務規范
- CISA國際注冊信息系統審計師認證備考試題庫(600題)
- 建筑施工與組織 江蘇開放大學考試資料
- DB4403T508-2024生產經營單位鋰離子電池存儲使用安全規范
評論
0/150
提交評論