Access函数表达式的示例_第1页
Access函数表达式的示例_第2页
Access函数表达式的示例_第3页
Access函数表达式的示例_第4页
Access函数表达式的示例_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Access函数表达式的示例在Microsoft Access中许多操作中都要使用表达式, 包括创建计算控件、查询、筛选准则、 默认值、有效性规则和宏的条件。通常,创建表达式最简捷的方法就是找到类似的表达式 示例,然后对它进行修改。请选择:一、用于窗体和报表中的表达式示例1、处理窗体和报表中文本值的示例卜表列出了可在窗体和报表的计算控件中使用的表达式示例:表辽式说明=N/A显示N/A。=姓氏& & 名字显示“姓氏”控件和“名字”控件的值,两 者之间以空格隔开。=Left(产品名称,1)使用Left函数显示“产品名称”控件值的 第一个字符。=Right(资产彳弋码,2)使用Right函数显示“资

2、产代码”控件值的 最后两个字符。=Trim(地址)使用Trim函数显示“地址”控件的值,并 且删除首尾的空格。=IIf(IsNull(地区),城市& & 邮政编码, 城市& & 地区& & 邮政编码)如果“地区”值为Null则使用IIf函数显示 “城市”和“邮政编码”控件的值,否则显 示“城市”、“地区”和“邮政编码”控件的 值,中间以空格分隔。注释计算控件中的表达式应使用=操作符开头。在设置计算控件的Name属性时,应确保使用唯一的名称。不要使用表达式中使用的 控件名称。Left函数返回Variant (String),其中包含字符串中从左边算起指定数量的字符。语法Left(string,

3、length)Left函数的语法有下面的命名参数:部分说明string必要参数。字符串表达式其中最左边的那些字符将被返回。如果string包 含Null,将返回Null。length必要参数;为 Variant (Long)。数值表式,指出将返回多少个子符。如 果为0,返回零长度字符串()o如果大于或等于string的字符数,则 返回整个字符串。说明:欲知string的字符数,使用Len函数。注意:LeftB函数作用于包含在字符串中的字节数据。所以 length指定的是字节数,而不 是要返回的字符数。Right函数返回Variant (String),其中包含从字符串右边取出的指定数量的字符。

4、语法Right(string, length)Right函数的语法具有下面的命名参数:部分说明string必要参数。子符串表式,从中最右边的子符将被返回。如果string包含Null,将返回 Null。length必要参数;为 Variant (Long)。为数值表式,指出想返回多少子符。如果 为0,返回零长度字符串()o如果大于或等于 string的字符数,则返回 整个字符串。说明:欲知string的字符数,用Len函数。注意:RightB函数作用于包含在字符串中的字节数据。所以 length指定的是字节数,而不是指定返回的字符数。LTrim RTrim 与 Trim 函数返回Variant

5、 (String),其中包含指定字符串的拷贝,没有前导空白(LTrim)尾随空白(RTrim) 或前导和尾随空白(Trim)。语法LTrim(string)RTrim(string)Trim(string)必要的string参数可以是任何有效的字符串表达式。如果 string包含Null,将返回Null。IIf函数根据表达式的值,来返回两部分中的其中一个。语法IIf(expr, truepart, falsepart)IIf函数的语法含有下面这些命名参数:部分描述expr必要参数。用来判断真伪的表达式。truepart必要参数。如果expr为True,则返回这部分的值或表式。falsepart

6、必要参数。如果expr为False则返回这部分的值或表式。说明:由于IIf会计算truepart和falsepart,虽然它只返回其中的一个。因此要注意到这 个副作用。例如,如果 falsepart产生一个被零除错误,那么程序就会发生错误, 即使 expr 为 True。Choose函数从参数列表中选择并返回一个值。语法Choose(index, choice-1, choice-2, . , choice-n)Choose函数的语法具有以下几个部分:部分描述index必要参数,数值表达式或字段,它的运算结果是一个数值,且界于1和可选择的项目数之间。choice必要参数,Variant表式,包

7、含可选择项目的其中之一。说明:Choose会根据index的值来返回选择项列表中的某个值。如果 index是1,则Choose会返回列表中的第1个选择项。如果index是2,则会返回列表中的第 2 个选择项,以此类推。可以使用 Choose来查阅一个列表中的项目。例如,如果 index所指定的值为 3,而 choice-1 = one、choice-2 = two、且 choice-3 = three,那么 Choose 将返回three。 当index代表一选项组中的值时,则这项功能将会特别有用。即使它只返回一个选项值,Choose仍然会计算列表中的每个选择项。所以应该注意到这 项副作用。例

8、如,当在每个选择项表达式中使用了MsgBox函数作为其中的一部分时,每计算一个选择项,就会显示一次消息框。当index小于1或大于列出的选择项数目时,Choose函数返回Null。如果index不是整数,则会先四舍五入为与其最接近的整数。IfThenElse语句根据表达式的值有条件地执行一组语句。语法If condition Then statementsElse elsestatements 或者,可以使用块形式的语法:If condition Then statements ElseIf condition-n Then elseifstatements .Else elsestateme

9、ntsEnd IfIf.Then.Else语句的语法具有以下几个部分:部分描述condition必要参数。一个或多个具有卜面两种ft型的表达式:数值表达式或子符串表达式,其运算结果为True或Falsa如果condition 为 Null,condition 会视为 FalseTypeOf objectname Is objecttype 形式的表式。其中的 objectname 是 任何对象的引用,而objecttype则是任何有效的对象类型。如果 objectname是objecttype所指止的一种对象类型,则表达式为True,否贝U为Falsastatements在块形式中是可选参数;

10、但是在单行形式中,且没有 曰se子句时,则为 必要参数。一条或多条以冒号分开的语句,它们在condition为True时执 行。condition-n可选参数。与 condition 同。elseifstatements可选参数。一条或多条语句,匕们在相关的condition-n为True时执仃。elsestatements可选参数。一条或多条语句,匕们在前向的condition或condition-n都 不为True时执行。说明:可以使用单行形式(第一种语法)来做短小简单的测试。但是,块形式(第二种语法)则提供了更强的结构化与适应性,并且通常也是比较容易阅读、维护及调试的注意:在单行形式中,

11、按照If.Then判断的结果也可以执行多条语句。所有语句必须在同 一行上并且以冒号分开,如下面语句所示:If A 10 Then A = A + 1 : B = B + A : C = C + B在块形式中,If语句必须是第一行语句。其中的Else, Elself,和End If部分可以只在之前加上行号或行标签。If块必须以一个 End If语句结束。要决定某个语句是否为一个If块,可检查Then关键字之后是什么。如果在 Then同一行之后,还有其它非注释的内容,则此语句就是单行形式的If语句。Else和ElseIf子句都是可选的。在If块中,可以放置任意多个 ElseIf子句,但是都必须 在

12、 Else子句之前。If块也可以是嵌套的。当程序运行到一个If块(第二种语法)时,condition将被测试。如果condition为True, 则在Then之后的语句会被执行。如果 condition为False,则每个ElseIf部分的条件式(如果有的话)会依次计算并加以测试。如果找到某个为True的条件时,则其紧接在相关的Then之后的语句会被执行。如果没有一个 日seIf条件式为True (或是根本就没有 ElseIf子句),则程序会执行 日se部分的语句。而在执行完 Then或Else之后的语句后, 会从End If之后的语句继续执行。提示根据单一表达式来执行多种可能的动作时,Sel

13、ect Case更为有用。不过,TypeOfobjectname Is objecttype 子句不能在 Select Case语句中使用。2、页码表达式的示例下表列出了用户在窗体“设计”视图或报表“设计”视图中可以使用的页码表达式示 例以及在其他视图中可以见到的结果。表辽式结果=Page1,2, 3=Page & PagePage 1, Page 2, Page 3=Page & Page & of & PagesPage 1 of 3, Page 2 of 3, Page 3 of 3=Page & of & Pages & Pages1 of 3 Pages, 2 of 3 Pages,

14、 3 of 3 Pages=Page & /& Pages & Pages1/3 Pages, 23 Pages, /3 Pages=Country & - & PageUK - 1, UK - 2, UK - 3=Format(Page, 000)001, 002, 0033、在窗体和报表中执行算术操作的示例卜表列出了可在窗体和报表的计算控件中使用的表达式示例:使用表达式Microsoft Access 显示二分类汇总+运费“分类汇总”和“运费”控件值的总和。=时款日期-装运日期“付款日期”和“装运日期”控件值的差。二价格*“价格”控件值的 倍(“价格”值增加6 %)。=件数*价格“件数”和

15、“价格”控件值的乘积。二雇员总数/国家总数“雇员总数”和“国家总数”控件值的比值。注释:计算控件中的表达式应使用=操作符开头。在设置计算控件的 Name属性时,应确保使用唯一的名称。不要使用表达式中使用 的控件名称。在表达式中使用算术操作符(+,-,*,/)时,如果表达式中某个控件的值为 Null,则 整个表达式的值为 Null。如果表达式中某个控件的一些记录值可能为 Null,可使用Nz函数将Null值转化为0,例如:=Nz(分类汇总)+Nz(运费)有关Nz函数的详细内容如下:使用Nz函数可以返回0,或一个空字符串(),或者当一个变体型为 Null时, 该函数返回其它的指定值。例如,您可以使

16、用该函数将Null值转换为其它值并防止它通过表达式扩散。语法Nz(variant, valueifnull)Nz函数具有如下参数参数说明variant;各种数据类型的VariantValueifnull可选参数(除非在查询中使用)。一个Variant,提供当variant参数为Null时的返回值。该参数使您能够返回一个值(除了 0或空字符串以 外的其它值)。如果在查询的表达式中使用J/、带 ValuelfNull参数的Nz函数,则对包含 Null值的字段,其返回结果将为空。当variant参数值为Null时,Nz函数返回0还是空字符串取决于上下文中该值是数值 还是字符串。如果包含了可选的val

17、ueifnull参数,则当variant参数为Null时,Nz函数将返回由该参数指定的值。当variant参数值不为 Null时,Nz函数返回variant参数值。说明:Nz函数对可能包含 Null值的表达式是很有用的。要使表达式即使在包含Null值时也能计算得到一个非Null值,可使用Nz函数来返回0,空字符串,或一个自定义的返回值。 例如,表达式2 + varX在 Variant varX是Null时,返回一个 Null值。然而,2 + Nz(varX) 却返回2。您可以经常使用 Nz函数作为IIf函数的替代函数。例如,在以下的代码中,需要用两个 包含IIf函数的表达式来返回想要的值。第一

18、个包含IIf函数的表达式用于检查变量的值,如果该值为Null就将它转换为00varTemp = IIf(IsNull(varFreight), 0, varFreight)varResult = IIf(varTemp 50, High, Low)在下一个示例中,Nz函数提供与第一个表达式相同的函数功能,并且一步即可获得所需 的值而不需要分两步进行。varResult = IIf(Nz(varFreight) 50, High, Low)如果为可选参数 valueifnul提供了一个值,则当 variant为Null时,将返回该值。通过 这个可选参数,可以避免使用含有IIf函数的表达式。例如,

19、下面的下表达式使用IIf函数,在varFreight的值为Null时返回一个字符串。varResult = IIf(IsNull(varFreight), No Freight Charge, varFreight)在下一个示例中,当varFreight为Null时,则Nz函数的可选参数提供了返回的字符串。varResult = Nz(varFreight, No Freight Charge) 4、引用窗体和报表中的值的示例卜表列出了可在窗体的计算控件中使用的表达式示例:使用表达式Microsoft Access 显示=Forms!订单!订单号“订单”窗体上“订单号”控件值。=Forms!订

20、单!订单子窗体!订单 分类汇总“订单”窗体上“订单子窗体”中的“订单分类汇总” 控件值。=Forms!订单!订单子窗体 川产品“订单”窗体上“订单子窗体”中的“订单号”多列号.Column(2)列表框中第三列的值。(0代表第一列,1代表第二 列,如此类推。)=Forms!订单!订单子窗体!价格*“订单”窗体上“订单子窗体”中的“价格”控件值 的倍。(“价格”控件值增加6%)=Parent!订单号当前子窗体的主窗体或父窗体上的“订单号”控件值。卜表列出了可在报表上的计算控件中使用的表达式示例:使用表达式Microsoft Access 显示Reports!发票!订单号:“发票”报表中的“订单号”

21、控件值。-Reports!总计!总计子报表!销售总 计“总计”报表中“总计子报表”上的“销售总计” 控件值。-Parent!订单号当前子报表的主报表或父报表中的“订单号”控 件值。注释:计算控件中的表达式应使用 =操作符开头。在设置计算控件的 Name属性时,应确保使用唯一的名称。不要使用表达式中使用 的控件名称。5、在窗体和报表中使用合计函数的示例卜表列出了可在窗体和报表中使用的表达式示例:表达式说明-Avg(费)使用Avg函数显小 运费 控 件的平均值。-Count(订单号)使用Count函数显示 “订单号”控件中的记录数。-Sum(住肖售) 使用Sum函数显示“销售” 控件值的总和。-S

22、um(畔数*价格)使用 Sum函数显示“件数”和“价格”控件值的乘积总和。二销售/Sum(销售)*100显示销售白分比, 即“销售”控件值与所有“销售”控件值的 总和的比值。注释如果控件的 Format属性设置为 Percent, 则/、要包含*100o注释计算控件中的表达式应使用 =操作符开头。在设置计算控件的 Name属性时,应确保使用唯一的名称。不要使用表达式中使用 的控件名称。在使用合计函数的表达式中不能使用控件的名称。只能使用表、查询或 SQL语句中 的字段名。有关在计算控件中使用合计函数的详细内容如下:关于计算窗体或报表上的计算控件的总计值在使用合计函数如 Sum ,或域合计函数如

23、 Dsum计算总计值时,不能在 Sum函数中使 用计算控件的名称。而必须在计算控件中重复该表达式。例如:=Sum(畔数*单价)不过,如果在基查询中有一个计算字段,例如:二总值:件数也单价则可在 Sum 函数中使用该字段的名称,如下所示:=Sum(总值)有关在查询中创建计算字段的详细内容如下:在查询中计算记录的总和、平均值、数量或其他总计使用查询“设计”视图中的“总计”行,可以对查询中全部记录或者一个或多个记录组,计算一个或多个字段值的总和、平均值、数量、最小值、最大值、方差或标准偏差。使用“准则”行,还可以添加影响计算结果的准则。注释 也可以用“简单查询向导”来计算字段值的总和、平均值、数量、

24、最小值或最大值。但如果要添加准则,就必须使用查询设计网格。有关 Sum 函数的详细内容如下:返回包含在指定查询字段中一组值的总计。语法Sum(expr)其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算的数据;或者是一个表达式,它使用此字段中的数据来执行计算。在expr 中的操作数可以包含表字段的名称、常量或函数(此函数可以是内部的或用户定义的,但不能是其他SQL合计函数)。说明Sum 函数求字段中值的总和。例如,可用Sum 函数计算货运的总费用。Sum 函数不计包含Null 值的字段。下列示例显示如何计算产品的UnitPrice (单价)及Quantity (数量)字

25、段的合计:SELECTSum(UnitPrice * Quantity)AS Total Revenue FROM Order Details;可以在一个查询表达式之中使用Sum 函数。也可以在QueryDef 对象的 SQL 属性中,或当创建一个基于SQL 查询的 Recordset 时,使用此表达式。有关 DSum 函数的详细内容如下:DSum函数用于计算指定记录集(一个域)中的一组值的总和。可以在 Visual BasiG宏、查询表达式或计算控件中使用DSum 函数。例如, 可以在查询的计算字段表达式中使用DSum 函数来计算一段时期某个特定雇员的总销售量。也可以在计算控件中使用DSum

26、 函数来显示特定产品的动态销售总和。语法DSum(expr, domain, criteria)The DSum函数具有下列参数。参数说明expr表达式,用于标识要对其值作总计的字段。可以是指向表或查询中字段的字 符串表达式,也可以是执行在域合计函数中计算字段的表达式。在expr中可以包括表中字段的名称、窗体上的控件、常量或函数。函数可以是内置的,也可以是用户自定义的,但/、能是另一个域合计函数或SQL合计函数。domain字符串表达式,代表组成域的记录集。可以是表的名称或查询的名称。criteria可选的子符串表式,用于限制DSum函数执仃的数据范围。例如,criteria通常等价于 SQL

27、表达式中的 WHERE子句,只是不含 WHERE关键字。如 果忽略criteria , DSum函数将在整个域范围内计算expr。任何包含在criteria中的字段必须同时也是 domain中的字段,否则 Dsum函数将返回 Null。说明如果没有记录满足criteria参数或者域中不包含任何记录,DSum函数将返回Null。无论是在宏或模块、查询表达式或者在计算控件中使用DSum函数,都必须仔细地构造criteria 参数以确保能够正确地进行计算。在查询的“准则”行、查询中的计算字段表达式中或更新查询的“更新到”行中均可以使 用 DSum函数指定准则。注释:可以在总计查询的计算字段表达式中使

28、用DSum或Sum函数。如果使用DSum函数,将在数据分组之前计算总计值。如果使用 Sum函数,则在字段表达式中的值计算之 前进行分组。如果需要显示窗体或报表记录源以外的字段值的总和,可能需要使用 DSum函数。例如, 如果有一个窗体显示有关一种特定产品的信息。可以在计算控件中使用 DSum函数来计算 这种产品销售额的运行总和。提示:如果要保持报表控件中的运行总和,当控件所基于的字段位于报表的记录源中时, 可以使用控件的RunningSum属性,DSum函数还可用来保持窗体上的运行总和。注释:使用该函数时,对domain中记录未保存的更改将不包括在内。 如果要让DSum函 数基于更改后的数据,

29、必须先保存更改。方法是单击“记录”菜单上的“保存记录”命令, 或者将焦点移动到另一个控件,或使用Update方法。6、在窗体和报表中使用域合计函数的示例卜表列出了可在窗体和报表中的计算控件上使用的表达式示例:表辽式说明=DLookup(合同名称,供时,供 应商号=Forms!供应商号”)使用DLookup函数显示“供应商”表的“供应 商号”字段值等于活动窗体上的“供应商号”控 件值时的“合同名称”字段值。=DLookup(合同名称,供时,供 应商号=Forms!新供应商!供应商 号)使用DLookup函数显示“供应商”表的“供应 商号”字段等于“新供应商”窗体中的“供应商 号”控件值时的“合同

30、名称”字段值。=DSum(盯单彳值,订单,顾客号 =RATTC)使用DSum函数显示“订单”表中“顾客号” 字段值为RATTC时的“订单价值”字段值的总 和。注释:计算控件中的表达式应使用 =操作符开头。在设置计算控件的 Name属性时,应确保使用唯一的名称。不要使用表达式中使用 的控件名称。在使用域合计函数的表达式中不能使用控件的名称。只能使用表、查询或SQL语句中的字段名。有关在计算控件中使用域合计函数的详细内容如下:在使用合计函数如 Sum ,或域合计函数如 Dsum计算总计值时,不能在 Sum函数中使 用计算控件的名称。而必须在计算控件中重复该表达式。例如:=Sum(畔数*单价)不过,

31、如果在基查询中有一个计算字段,例如:二总值:件数也单价则可在Sum函数中使用该字段的名称,如下所示:=Sum(总值) 7、在窗体和报表上处理和计算日期的示例卜表列出了可在窗体和报表的计算控件中使用的表达式示例:表辽式说明=Date()使用 Date函数显示当前日期,显小时用 mm-dd-yy 形式,其中mm是月份(1到12), dd是日期(1 到31), yy则是年份的最后两个数字(1980到2099)。=Format(Now(), ww)使用Format函数显示当前日期在该年中所处的星期 号,其中ww为1至I 53。=DatePart(yyyy,订单日期)使用DatePart函数显示“订单日

32、期”控件值的四位年 份值。=DateAdd(y, -10,应付日期)使用DateAdd函数显示“应付日期”控件值前10天 的日期值。=DateDiff(d,订单日期,装运日 期)使用DateDiff函数显示“订单日期”和“装运日期” 控件值之间相差的天数。注释:计算控件中的表达式应使用 =操作符开头。在设置计算控件的 Name属性时,应确保使用唯一的名称。不要使用表达式中使用 的控件名称。8、返回窗体和报表上的两个值中一个值的示例卜表列出了可在窗体和报表的计算控件中使用的表达式示例:表辽式说明=IIf(确认=是,订单已确认,订 单没有确认)如果“确认”控件的值为“是则IIf函数显示“订 单已确

33、认信息,否则显示“订单没后确认”。=IIf(IsNull(国家),国家)如果“国家”控件值为 Null则IIf函数显示空字符 用,否则显示“国家”控件的值。=IIf(IsNull(地区),WJ & & 邮 政编码,城市& & 地区& & 邮政编码)如果“地区”控件值为 Null则IIf函数显示“邮政 编码”和“城市”控件的值,否则显示“城市”、“地 区”和“邮政编码”控件的值。=IIf(IsNull(付款日期-装运日期), 检查丢失日期,付款日期-装运 日期)如果“付款日期”减去“装运日期”的值为 Null则Iif函数显示“检查丢失日期”信息,否则显示“付 款日期”和“装运日期”控件值之差。注释计算控件中的表达式应使用=操作符开头。在设置计算控件的Name属性时,应确保使用唯一的名称。不要使用表达式中使用 的控件名称。9、创建表达式所谓创建表达式,实际上是将标识符、值和运算符组合为一整体以产生某一结果。表达式 可以是简单的算术表达式,例如 (1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论