Access 2003完整教程:关于表达式

表达式是许多 Microsoft Access 运算的基本组成部分。表达式是可以生成结果的符号的组合,这些符号包括标识符、运算符和值。例如,可以在窗体或报表的控件中使用下列表达式来显示“小计”和“运货费”控件的数值总和:

= [小计] + [运货费]

何时使用表达式

在表达式中,可以使用字面值、常量、函数或标识符来指定值:

字面值

字面值代表那些 Microsoft Access 按其书写形式来对待的值,如数字、字符串或日期。"北京"、100 和 #1-Jan-01#(ANSI-92 中的 '1-Jan-01')都属于这类值。

日期/时间值

表达式元素两边的数字符号 (#)(或 ANSI-92 中的单引号 ('))表示该元素是日期/时间值。Microsoft Access 自动将数字符号(或单引号)所包围的值作为日期/时间值来对待,并允许用任何常用的日期或时间格式来键入此值。

如果字段的数据类型是日期/时间,在此字段的有效性表达式或条件表达式中不必为日期/时间值两边键入数字符号(或半角单引号)。可以用任一常用的日期或时间格式键入值,Microsoft Access 会自动在该值的两边插入正确的符号。请注意,Access 2002 及更高版本遵循 ANSI-92。

Microsoft Access 根据 Microsoft Windows“控制面板”中的区域设置对值进行显示。可以使用“格式”属性来改变日期的输出格式。

文本字符串

表达式元素两边的半角双引号 (") 表示此元素为文本。

在有效性表达式或条件表达式中键入文本时,可以不必键入半角双引号,Microsoft Access 会自动插入半角双引号。

例如,如果键入表达式:北京,则 Microsoft Access 将如下显示表达式:

"北京"

如果想让表达式产生包含在半角双引号中的字符串,可以将嵌套的字符串包含在半角单引号 (') 或三重半角双引号 (") 中。例如,下面两个表达式完全等同:

Forms![联系人]![城市].DefaultValue = ' "北京" '

Forms![联系人]![城市].DefaultValue = " " "北京" " "

常量

常量代表不会发生更改的值。TrueFalseNull等都是常量,它们由 Microsoft Access 自动定义。可以在Visual Basic for Applications中定义自己的常量,以便在 Microsoft Visual Basic 过程中使用。

注释不能在表达式所使用的函数中使用 Visual Basic 常量。例如,Visual Basic 具有用来在函数中表示星期几的常量,如vbSunday表示星期日、vbMonday表示星期一,等等。每个常量都有对应的数字值:vbSunday的数字值为 1,vbMonday的数字值为 2。而在表达式所用的函数中,必须使用数字值表示星期中特定的一天,即星期几。

函数

函数根据计算或其他运算的结果返回值。Microsoft Access 包含许多内置的函数,例如:

字段、控件和属性标识符

标识符可以引用字段、控件或属性的值。例如,下列标识符引用“订单”窗体上“订购日期”控件的DefaultValue属性的值:

Forms![订单]![订购日期].DefaultValue

关于生成表达式

输入对象的名称

在标识符中将字段、控件或属性包含在方括号 ([ ]) 中,表明该元素是表、查询、窗体、报表、字段或控件的名称。

在标识符中键入对象名称时,如果对象名称中包含空格或特殊的字符(如下划线),则请用方括号将名称括起来。如果名称不含空格或特殊字符,则可以不用方括号。Microsoft Access 会自动插入方括号(除下面注明的两种例外情况)。

例如,可以键入下列表达式作为“控件来源”属性的设置,以便计算“运费”和“订单数量”字段值的总和:

= 运费 + 订单数量

Microsoft Access 将显示如下表达式:

= [运费] + [订单数量]

注释“有效性规则”的属性设置中或查询设计网格的“条件”单元格中,Microsoft Access 并不总在所有名称的两边自动插入方括号。如果输入的是对象名称,请确保在其两边键入方括号,否则,Microsoft Access 可能会假设输入内容是文本,并为它插入双引号。

在表达式中使用 ! 和 .(点)运算符

在标识符中使用!.(点)运算符可以指示随后将出现的项目类型。

! 运算符

!运算符指出随后出现的是用户定义项(集合中的一个元素)。例如,使用!运算符可以引用一个打开着的窗体、报表,或打开着的窗体或报表上的控件。

标识符引用
Forms![订单]打开着的“订单”窗体
Reports![发票]打开着的“发票”报表
Forms![订单]![订单ID]打开着的“订单”窗体上的“订单ID”控件

.(点)运算符

.(点)运算符通常指出随后出现的是 Microsoft Access 定义的项。例如,使用.(点)运算符可以引用窗体、报表或控件的属性。另外,还可以使用.(点)运算符引用SQL 语句中的字段值、Microsoft Visual Basic for Applications方法或某个集合。

标识符引用
Reports![发票]![货主名称].Visible“发票”报表上“货主名称”控件的Visible属性。
SELECT 雇员.雇员ID, 订单.订单ID
FROM 雇员 INNER JOIN 订单 ON 雇员.雇员ID = 订单.雇员ID;
“雇员”表和“订单”表中的“雇员ID”字段。
DoCmd.CloseMicrosoft Visual Basic中的Close方法。
Forms![订单].Properties.Refresh“订单”窗体Properties集合的Refresh方法。

字段值、控件值或属性值的组合

可以使用&(连接)运算符将字段、控件或属性的值与字面字符串组合在一起。例如,下列表达式将字面字符串 "[类别ID] = " 和“产品”窗体上“类别ID”控件的值组合在一起:

"[类别ID] = " & Forms![产品]![类别ID]

在某些情况下,例如在诸如DLookup等域聚合函数中,字段、控件或属性的值都必须显示在半角单引号 (') 或半角双引号 (") 中。要做到这一点,最简单的方法是在字面字符串两边加上半角单引号,然后在表达式中字段、控件或属性的值之后加上另一个由半角单引号包围的字面字符串,如下所示:

"[类别ID] = ' " & Forms![产品]![类别ID] & " ' "

已有的 Microsoft Access 应用程序可能使用竖线运算符 (| |) 来替换双引号和&(连接)运算符的起始、结束组合,如下所示:

"[类别ID] = '|Forms![产品]![类别ID]|' "

但建议不要使用竖线,因为在某些情况下它们可能会产生不可预料的结果。

可以自行创建表达式,也可以使用表达式生成器

关于自行创建表达式

在属性表、设计网格或操作参数中输入表达式时,如果键入的表达式长度超过标准的输入区域,则可以在“显示比例”框中键入表达式。若要打开“显示比例”框,请在焦点位于将输入表达式的地方时按 Shift+F2。

在属性表、设计网格或操作参数中输入表达式时,Microsoft Access 将:

关于“表达式生成器”

“表达式生成器”由三部分组成,从上至下为:

通过从列表中选择数据库对象、元素和值来创建表达式

标注 1表达式框生成器的上方是一个表达式框,可在其中创建表达式。使用生成器的下方区域可以创建表达式的元素,然后将这些元素粘贴到表达式框中以形成表达式。也可以直接在表达式框中键入表达式的组成部分。

标注 2运算符按钮常用运算符的按钮位于生成器的中部。如果单击某个运算符按钮,“表达式生成器”将在表达式框中的插入点位置插入相应的运算符。单击左下角框中的“运算符”文件夹和中部框中相应的运算符类别,可以得到表达式中所能使用的运算符的完整列表。右侧的框列出的是所选类别中的所有运算符。

标注 3表达式元素生成器下方有三个框:

注释将标识符粘贴到表达式中时,“表达式生成器”只能粘贴在当前环境中必需的标识符部分。例如,如果从“客户”窗体的属性表中打开“表达式生成器”,然后在表达式中粘贴窗体Visible属性的标识符,则“表达式生成器”只粘贴属性名称:Visible。如果在窗体的环境以外使用这个表达式,则必须包含完整的标识符:Forms![客户].Visible。

上页:Access 2003完整教程:关于“表达式生成器” 下页:Access 2003完整教程:关于使用字段列表将数据添加到数据访问页

Access 2003完整教程:关于表达式

Access 2003完整教程:关于使用字段列表将数据添加到数据访问页Access 2003完整教程:关于查找或替换数据
Access 2003完整教程:在“页”视图中获得有关使用数据访问页的“帮助”Access 2003完整教程:关于导入和链接数据及数据库对象
Access 2003完整教程:关于在 Access 数据库中设置字段和记录索引 (MDB) Access 2003完整教程:关于创建输入掩码来控制字段或控件的数据输入方式 (MDB)
Access 2003完整教程:关于日语排序次序Access 2003完整教程:关于 Microsoft Jet Expression Service 沙盒模式
Access 2003完整教程:关于 MDE 文件 (MDB)Access 2003完整教程:关于 Access 项目 (ADP)
Access 2003完整教程:关于 Microsoft Office Web ComponentsAccess 2003完整教程:关于获取有关 SQL Server 的帮助 (ADP)
Access 2003完整教程:关于 SQL Server 2000 Desktop EngineAccess 2003完整教程:关于 ODBC 数据源
Access 2003完整教程:关于脱机数据 (ADP)Access 2003完整教程:关于 OLE DB 和数据链接
Access 2003完整教程:关于密码 (MDB)Access 2003完整教程:关于弹出式窗体和报表
Access 2003完整教程:关于保护 Access 项目的安全 (ADP)Access 2003完整教程:关于保护数据访问页的安全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号