Excel表达式.docx

上传人:b****6 文档编号:7729491 上传时间:2023-01-26 格式:DOCX 页数:30 大小:151.66KB
下载 相关 举报
Excel表达式.docx_第1页
第1页 / 共30页
Excel表达式.docx_第2页
第2页 / 共30页
Excel表达式.docx_第3页
第3页 / 共30页
Excel表达式.docx_第4页
第4页 / 共30页
Excel表达式.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

Excel表达式.docx

《Excel表达式.docx》由会员分享,可在线阅读,更多相关《Excel表达式.docx(30页珍藏版)》请在冰豆网上搜索。

Excel表达式.docx

Excel表达式

什么是表达式?

Access中的表达式相当于Excel中的公式。

一个表达式由多个单独使用或组合使用以生成某个结果的可能元素组成。

元素可能包括标识符(字段名称、控件名称或属性名称)、运算符(如加号(+)或减号(-))、函数、常量和值。

您可以使用表达式执行计算、检索控件值、提供查询条件、定义规则、创建计算控件和计算字段,以及定义报表的分组级别。

以下是一些表达式示例。

表达式

用途

=[订购日期]-[发货日期]

计算报表上两个文本框控件中的值之差

Date()

将表中字段的默认值设置为当前日期

总价:

CCur([订单明细].单价*[数量]*(1-[折扣])/100)*100

创建查询中的计算字段

Between#1/1/2005#And#12/31/2005#

用于输入查询中“日期/时间”字段的条件

=[订单子窗体].Form!

订单小计

返回“订单”窗体的“订单”子窗体上的“订单小计”控件的值

>0

设置表中数值字段的有效性规则

正如以上示例表达式所显示的那样,Access中的表达式不仅仅是一种计算。

表达式可用于多种不同的用途。

您可能还注意到示例表达式在某些方面是互不相同的。

例如,某些表达式以=运算符开头。

当计算窗体或报表上某一控件的值时,使用=运算符作为表达式的开头。

而在其他情况下,则不使用=运算符。

例如,当您在查询或者字段或控件的“默认值”或“有效性规则”属性中输入表达式时,不使用=运算符。

标识符

标识符是字段、属性或控件的名称。

在表达式中使用标识符可引用与字段、属性或控件关联的值。

例如,请看表达式=[订购日期]-[发货日期]。

此表达式将“订购日期”字段或控件的值减去“发货日期”字段或控件的值。

在此表达式中,“订购日期”和“发货日期”都是标识符。

运算符

Access支持多种运算符,其中包括预期的算术运算符,如+、-、*(乘)和/(除),以及用于比较两个值的比较运算符、用于连接文本的文本运算符、用于确定True或False值的逻辑运算符,还包括Access所特有的其他运算符。

有关运算符的详细信息,请参见本文的运算符列表一节。

函数

函数是可在表达式中使用的内置程序。

可将其用于执行计算、处理文本和日期、汇总数据以及执行多种操作。

例如,一个最常用的函数是Date。

Date函数可返回当前日期。

您可以在为表中字段设置默认值的表达式中使用此函数。

这样,无论何时添加一条新记录,此字段的默认值都为当前日期。

某些函数需要使用参数。

参数是一个充当函数输入的值。

如果函数需要使用多个参数,则需要使用逗号将参数分隔开。

例如,请考虑以下表达式示例中的Format函数:

=Format(Date(),"mmmmd,yyyy")

在此示例中,我们提供两个参数。

第一个参数是Date函数。

通常可以将一个函数返回的值作为参数提供给另一个函数。

在本例中,我们提供由Date函数返回的当前日期。

第二个参数(与第一个参数以逗号分隔)是用于告知Format函数如何设置日期格式的文本字符串。

请注意,文本字符串应用引号括起来。

一般而言,当您需要提供文本时,请将其放在引号中。

Access支持多种内置函数。

有关可用函数的更多信息,请参见函数(按类别)(英文)和函数(按字母顺序)(英文)帮助主题。

常量

常量是一种在Access运行时其值保持不变的命名数据项。

在表达式中最常用到的常量包括True、False和Null。

您也可以在VisualBasicforApplications(VBA)中定义自己的常量,以在VBA程序中使用。

VBA是Access使用的编程语言。

 注释   您不能在用于表达式的自定义函数中使用MicrosoftVisualBasic常量。

例如,VisualBasic具有表示一周中各天的常量:

vbSunday代表星期日、vbMonday代表星期一,依此类推。

每个常量都有一个相应的数值:

vbSunday的数值为1、vbMonday的数值为2,依此类推。

您不能在从表达式内部调用的自定义函数中使用这些常量,而必须改用数值。

可以在表达式中使用文字值。

数值可以是一组数字,包括一个符号和一个小数点(如果需要)。

如果没有符号,Access则认为是一个正值。

要使一个值为负值,请包含减号(-)。

也可以使用科学记数法。

这时,请添加E或e以及指数符号(如1.0E-6)。

文本字符串值应置于引号中。

在某些情况下,Access将为您提供引号。

例如,当您在有效性规则或查询条件的表达式中键入文本时,Access将自动提供引号。

例如,如果您键入文本上海,Access将在表达式中显示"上海"。

如果您希望表达式生成一个实际用引号括起来的字符串,可以用单(')引号或三组双(")引号将嵌套字符串括起来。

例如,以下表达式是等效的:

Forms!

[联系人]!

[城市].DefaultValue='"上海"'

Forms!

[联系人]!

[城市].DefaultValue="""上海"""

日期/时间值应以编号符号(#)括起来。

例如,#3-7-05#、#7-Mar-05#和#Mar-7-2005#都是有效的日期/时间值。

当Access看到以#字符括起来的有效日期/时间值时,它会自动将此值视为日期/时间数据类型。

 返回页首

为什么要使用表达式?

在Access中,您经常会用到表达式,并将其用于多种目的。

例如,当您要计算窗体上字段的值时,可以使用表达式。

假设您要计算发票中某一行数据项的总金额。

通常,您并不将该行数据项总计存储在数据库中,而是在需要时根据应存储在数据库中的两个数据项(数量和价格)来计算此值。

 

=CCur([数量]*[价格])

此表达式将数量与价格相乘,然后使用CCur函数(转换为货币)将结果转换为“货币”数据类型。

通常使用文本框控件来存储计算值,但是您也可以使用具有“控件来源”属性的任何控件。

将表达式作为其控件来源的控件称为计算控件。

如果控件是一个文本框,则可以直接在该文本框中输入表达式。

也可以在属性表的“控件来源”属性中输入表达式。

除了使用表达式计算数据库中未存储的所需值外,通常还可以使用表达式提供查询信息。

例如,假设您要查看在特定时间范围内发货的产品销售情况。

您可以输入一个使用Between运算符的条件表达式来定义日期范围。

Access将仅返回符合该条件且发货日期在指定日期范围内的行:

Between#1/1/2004#And#12/31/2004#

您或许还会发现,在查询中计算行数据项总计也是一个非常好的办法,查询可以为窗体或报表提供数据。

此类计算得出的查询中的列称为计算字段。

例如,以下查询中的表达式可根据适用的折扣来计算行数据项总计:

总价:

CCur([订单明细].[单价]*[数量]*(1-[折扣])/100)*100

此表达式将结果列命名为“总价”。

表达式的另一个好处是为表中的字段或控件提供默认值。

例如,如果您要将一个日期字段的默认值设置为当前日期,则可以在该字段的“默认值”属性中键入Date()。

也可以使用表达式设置有效性规则。

例如,您可以使用这样一种有效性规则:

要求输入的日期必须大于或等于当前日期。

此时,应将“有效性规则”属性框中的值设置为>=Date()。

 返回页首

在什么地方使用表达式,如何使用表达式

您可以在许多地方使用表达式。

例如,在表、查询、窗体、报表和宏中都可以使用表达式。

此外,在编写事件过程或模块的VBA代码时,通常要使用与Access对象(如表或查询)中类似的表达式。

表达式中的字段名称和控件名称必须用括号括起来;例如,[单价]。

如果您输入的名称不包含空格或特殊字符,则Access会自动用括号将该名称括起来。

如果名称包含空格或特殊字符,则必须自己键入括号。

通过设置Name属性,可为计算控件命名。

在窗体或报表上的所有控件名称中,该名称必须是唯一的。

它还必须不同于在该控件的表达式中使用的任何字段或控件名称,而且应不同于基础表或查询中的任何字段名称。

当您要在窗体或报表上的其他表达式中引用该控件的值时,可以使用该名称。

最常使用表达式的地方包括:

在窗体或报表上的文本框控件中

可以在文本框控件中使用表达式来创建计算控件。

例如,假定您要创建一个小计,以计算某订单窗体上所有行数据项的总和。

该小计如下所示。

要计算小计,需要在窗体上放置一个文本框控件,并将该文本框的“控件来源”属性设置为以下表达式:

=Sum([总价])

Sum函数可计算记录源中一组值的总和,在本例中,记录源是名为“总价”的列。

 

在文本框控件中输入表达式  

1.在数据库窗口中的“对象”下,单击“窗体”。

2.单击某个窗体,然后单击数据库窗口中的“设计”。

3.单击文本框以将其选中。

4.在“视图”菜单上,单击“属性”以显示该文本框的属性表。

Access将显示该文本框的属性表。

5.将文本框的“控件来源”属性更改为=后面跟着表达式,或单击属性框右侧的“生成器”按钮

使用表达式生成器创建一个表达式。

例如,要计算如上所示的小计,请键入=Sum([总价])。

属性表看上去与下图相似。

6.关闭该属性表。

在查询设计网格的条件单元格中

可以使用表达式定义查询条件。

Access会只返回与该条件匹配的那些行。

例如,假定您要查看发货日期在2004年中的所有订单。

要输入条件,可在查询中“发货日期”列的“条件”单元格中输入下面的表达式:

Between#1/1/2004#And#12/31/2004#

“发货日期”列看上去与下图相似。

可以使用表达式来确定发货日期是否位于指定的日期范围内。

请注意,日期值两侧带有编号符号(#)。

Access将编号符号内的值视为“日期/时间”数据类型。

在查询设计网格中输入条件  

7.在数据库窗口中的“对象”下,单击“查询”。

8.单击某个查询,然后单击数据库窗口中的“设计”。

9.单击要为其输入匹配条件的列中的条件单元格。

10.键入条件表达式,或单击工具栏上的“生成器”按钮

使用表达式生成器创建一个表达式。

 注释   条件表达式的前面不要带=运算符。

如果希望在较大的区域内输入表达式,请按Shift+F2以显示“显示比例”框。

在查询设计网格的字段单元格中

可以使用表达式在查询中创建计算字段。

例如,假定您要在查询中显示订单发货的年份。

要创建计算字段,可在查询中空列的字段单元格中输入以下表达式:

年份:

Format([发货日期],"yyyy")

该表达式使用Format函数从“发货日期”字段中提取年份并将年份格式设置为四位数字。

请注意,通过在表达式前面加上年份:

,可将结果列命名为“年份”。

在查询设计视图中输入计算字段  

11.在数据库窗口中的“对象”下,单击“查询”。

12.单击某个查询,然后单击数据库窗口中的“设计”。

13.单击希望在其中创建计算字段的列中的字段单元格。

14.键入表达式,或单击工具栏上的“生成器”按钮

使用表达式生成器创建一个表达式。

表达式格式应以名称开头,后跟一个冒号。

例如,键入总价:

作为一个表达式的开头,该表达式将创建一个名为总价的计算字段。

在表中字段的“有效性规则”属性中

另一个经常使用表达式的地方是表中字段的“有效性规则”属性。

假定您要实施某一规则,该规则可强迫“库存量”表中的[单位数量]字段包含一个大于或等于零的值。

也就是说,库存量绝不能为负数。

使用下图中所示的表达式可以做到这一点。

在表中输入字段的有效性规则  

15.在数据库窗口中的“对象”下,单击“表”。

16.单击某个表,然后单击数据库窗口中的“设计”。

17.单击所需字段的字段名称。

18.单击“有效性规则”属性框。

19.键入表达式,或单击属性框右侧的“生成器”按钮

使用表达式生成器创建一个表达式。

 注释   创建有效性规则时,不要在表达式前面加=运算符。

使用有效性规则表达式时要记住的重要一点是:

这些表达式必须解析为True值才能被接受。

因此,在本例中,[单位数量]的值必须>=0。

否则,Access将显示“有效性文本”属性框中所示的文本。

如果您未在“有效性文本”属性框中输入任何文本,Access会显示其自身的消息,以表明您输入了字段的有效性规则所禁止的值。

在控件的“有效性规则”属性中

还可以设置控件的“有效性规则”属性。

例如,假定您要使用窗体输入报表的日期范围,并希望确保起始日期不要早于#1/1/2004#。

您可以设置要在其中输入起始日期的文本框的“有效性规则”和“有效性文本”属性,如下所示。

属性

设置

有效性规则

>=#1/1/2004#

有效性文本

输入的日期不得早于2004-01-01。

如果您尝试输入一个早于#1/1/2004#的日期,则会显示一条消息。

单击“确定”后,将返回到文本框。

为控件输入有效性规则  

20.在数据库窗口中的“对象”下,单击“窗体”或“报表”。

21.单击某个窗体或报表,然后单击数据库窗口中的“设计”。

22.单击控件以将其选中。

23.单击工具栏上的“属性”按钮。

Access将显示该控件的属性表。

24.单击“全部”选项卡,然后单击“有效性规则”属性框。

25.键入表达式,或单击属性框右侧的“生成器”按钮

使用表达式生成器创建一个表达式。

 注释   创建有效性规则时,不要在表达式前面加=运算符。

26.还可更改“有效性文本”属性。

27.关闭该属性表。

如果输入了有效性规则所禁止的值,则可以在插入点位于控件中时按Esc,以便恢复为初始值或默认值。

然后可以输入一个符合有效性规则的值。

如果控件的“控件来源”属性是表中的一个字段,那么在通常情况下,除了设置该控件的“有效性规则”属性外,最好也对字段的该属性进行设置。

这样,无论使用哪个窗体或查询来更新字段,都始终会实施该规则。

在表中字段的“默认值”属性中

可以使用表达式将字段的默认值存储在表中。

例如,假定您要在添加新记录时将日期和时间自动插入“订购日期”字段中。

可以使用如下表达式。

该表达式使用Now函数将日期和时间插入“订购日期”字段中。

在表中输入字段的默认值  

28.在数据库窗口中的“对象”下,单击“表”。

29.单击某个表,然后单击数据库窗口中的“设计”。

30.单击所需字段的字段名称。

31.单击“默认值”属性框。

32.键入表达式,或单击属性框右侧的“生成器”按钮

使用表达式生成器创建一个表达式。

如果控件绑定到表中的某个字段,并且该字段具有默认值,则将优先使用该控件的默认值。

在控件的“默认值”属性中

另一个经常使用表达式的地方是控件的“默认值”属性。

在表中,控件的“默认值”属性的行为类似于字段的“默认值”属性。

例如,如果您要输入当前日期作为“订购日期”文本框的默认值,可以使用如下表达式。

该表达式使用Date函数返回当前日期,但不返回时间。

如果该文本框控件绑定到表中的某个字段,并且该字段具有默认值,则将优先使用控件的默认值。

通常,最好在表中设置字段的“默认值”属性,因为只要控件不覆盖此默认值,就始终会应用它。

输入控件的默认值  

33.在数据库窗口中的“对象”下,单击“窗体”或“报表”。

34.单击某个窗体或报表,然后单击数据库窗口中的“设计”。

35.单击控件以将其选中。

36.单击工具栏上的“属性”按钮。

Access将显示该控件的属性表。

37.单击“全部”选项卡,然后单击“默认值”属性框。

38.键入表达式,或单击属性框右侧的“生成器”按钮

使用表达式生成器创建一个表达式。

39.关闭该属性表。

在宏中的“条件”列中

在某些情况下,您可能希望仅在满足特定条件时在宏中执行一个操作或一系列操作。

例如,假定您希望仅在“计数器”文本框的值为10时才执行操作。

可以使用表达式在宏的“条件”列中定义条件。

输入执行宏操作的条件  

40.在数据库窗口中的“对象”下,单击“宏”。

41.单击某个宏,然后单击数据库窗口中的“设计”。

42.单击与要选择的宏操作对应的“条件”单元格。

如果看不到“条件”列,请在“视图”菜单上单击“条件”。

43.键入一个条件表达式。

44.关闭该宏。

与“有效性规则”属性一样,“条件”列表达式是一个条件表达式。

它必须解析为True或False。

仅在条件为True时才执行操作。

在“排序与分组”框中

可以使用“排序与分组”框定义报表的分组级别和排序选项。

可以根据字段或表达式进行分组。

例如,假定您要按国家、姓名和订单ID的先后顺序对报表进行分组。

如果姓名信息存储在单独的字段(“姓氏”和“名字”)中,则需要使用如下图所示的表达式进行分组。

  

该表达式使用与号(&)运算符合并文本值(通常称为字符串连接)。

有关合并文本值的更多信息,请参见本文的合并文本值部分。

在“排序与分组”框中输入表达式  

45.在数据库窗口中的“对象”下,单击“报表”。

46.单击报表,然后单击数据库窗口中的“设计”。

47.在“设计”视图中打开报表。

48.在“视图”菜单上,单击“排序与分组”。

49.单击“字段/表达式”列中的单元格。

50.在=运算符后键入一个表达式。

 返回页首

使用“表达式生成器”

“表达式生成器”可以帮助您创建表达式。

“表达式生成器”是一个可从写入表达式的大多数位置启动的工具。

使用它可轻松访问数据库中所用字段和控件的名称,还可访问许多在写入表达式时可以使用的内置函数。

可以使用“表达式生成器”从头开始创建表达式,也可以从一些预先生成的用于显示页码、当前日期、当前日期和时间的表达式中进行选择。

 表达式框

生成器的上部包含一个表达式框,可在其中构建表达式。

可以使用生成器下面部分的三栏来查找可粘贴到表达式框中的元素。

也可以在表达式框中直接键入部分表达式。

这样,通过将键入和粘贴操作配合使用,就可以构建一个表达式。

 运算符按钮

“表达式生成器”的中间部分显示了一些常用运算符按钮。

要在表达式框中插入运算符,请单击相应的按钮。

要显示可在表达式中使用的运算符列表,请单击下方左侧栏中的“操作符”文件夹,然后在中间栏内单击所需的类别。

右侧栏中随即列出选定类别的所有运算符。

要插入某一运算符,请双击该运算符,或选中它并单击“粘贴”。

 表达式元素

下面部分包含三栏:

左侧栏显示了一些文件夹,这些文件夹列出了数据库中的表、查询、窗体和报表,以及可用内置函数、用户定义的函数、常量、运算符和通用表达式。

中间栏列出了左侧栏中所选文件夹的特定元素或元素类别。

例如,如果单击左侧栏中的“内置函数”,则中间栏会列出函数类别。

右侧栏列出了左侧栏和中间栏中所选元素的值(如果有)。

例如,如果单击左侧栏中的“内置函数”,然后单击中间栏中的一个函数类别,则右侧栏中会列出选定类别的所有内置函数。

通过在表达式框中键入文本并从生成器的其他区域粘贴元素,可以创建表达式。

例如,您可以单击左下方的栏来查看数据库中的任意对象以及函数、常量、运算符和通用表达式。

当您单击左侧栏中的数据项时,其他栏会相应地发生变化。

例如,当您单击左侧栏中的某个表名称时,中间栏会列出该表中的字段。

当您双击“函数”,然后单击“内置函数”时,中间栏会列出所有函数类别,而右侧栏会列出这些类别中的函数。

当您双击某一函数以将其插入表达式中时,函数和表示该函数所需参数的文本(以占位符文本形式显示)会出现在表达式框中。

随后,您可以使用正确的参数值替换该文本。

在将标识符粘贴到表达式中时,“表达式生成器”只插入当前上下文所需的部分标识符。

例如,如果从“客户”窗体的属性表中启动“表达式生成器”,然后将该窗体的“Visible”属性标识符粘贴到表达式中,则“表达式生成器”只粘贴属性名称“Visible”。

如果在窗体上下文外部使用该表达式,则必须包括完整的标识符:

Forms!

[客户].Visible。

在表、窗体或报表中启动“表达式生成器”  

1.单击将包含表达式的属性或操作参数框。

2.单击属性旁边的“生成器”按钮

在查询中启动“表达式生成器”  

1.单击将包含表达式的设计网格中的单元格。

例如,单击希望提供条件的列的“条件”单元格,或单击希望在其中创建计算字段的列的“字段”单元格。

2.单击工具栏上的“生成器”按钮

您可以将“表达式生成器”看作是查找和插入标识符名称(如字段、表、窗体和查询)等容易忘记的内容的一个方式。

 返回页首

表达式的实际应用

本节介绍了使用表达式解决问题和计算窗体、报表和表所需信息的一些方法。

使用当前日期和时间为新记录添加时间戳

在某些表中,在添加记录时不断跟踪(“时间戳”)日期或日期和时间是很重要的。

要让Access自动为您填充该值,可以创建一个数据类型为“日期/时间”的字段,并将该字段的“默认值”属性设置为Date()或Now()。

Date函数返回在您计算机的系统时钟中存储的当前日期。

Now函数返回当前日期和时间。

添加日期和时间戳字段  

1.在数据库窗口中的“对象”下,单击“表”。

2.单击某个表,然后单击数据库窗口中的“设计”。

3.在最上面的空行中,单击“字段名称”列。

4.键入字段名称,如“输入日期”。

5.单击“数据类型”列,然后选择“日期/时间”。

6.单击“常规”选项卡,然后单击“默认值”属性框。

7.键入Now()或Date(),然后按Tab键。

8.关闭该表。

如果Access询问是否要保存更改,请单击“是”。

现在,只要您向表中添加新记录,Access就会自动将日期或日期和时间插入“输入日期”字段中。

合并文本值

如果您要合并两个或多个文本字段中的值,可以使用与号(&)运算符。

例如,您可能希望在“雇员”窗体的窗体页眉中显示雇员的全名。

您可以在主体节的文本框中输入雇员的名字和姓氏。

可以使用下面的表达式显示雇员的全名:

=[名字]&""&[姓氏]

要合并两个或多个控件中的值,需使用&运算符,并且应该用引号括起希望插入的值中间的任何内容(空格、标点符号或未更改的文本)。

在本例中,使用字符串""在名字和姓氏之间插入了一个空格。

  

添加一个包含全名表达式的文本框  

1.在数据库窗口中的“对象”下,单击“窗体”或“报表”。

2.单击某个窗体或报表,然后单击数据库窗口中的“设计”。

3.在工具箱中,单击“文本框”工具。

 注释   如果看不到工具箱,请在“视图”菜单上,单击“工具箱”。

4.在窗体或报表上拖动指针,以创建文本框。

5.单击该文本框以将其选中。

6.单击“视图”菜单上的“属性”,然后单击“数据”选项卡。

7.将“控件来源”属性更改为=[名字]&""&[姓氏],然后按Tab键。

8.关闭该属性表。

在某些记录中,您所合并的字段可能没有任何值。

这样的空缺值称为Null值。

在使用&运算符和不包含值的字段时,Access将为该字段返回一个零长度字符串。

例如,如果雇员记录只包含姓氏,那么上述示例中的表达式将返回“名字”字段的零长度字符串、空格和“姓氏”字段中的值。

在合并值时,您可能希望仅当指定字段

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1