Access表达式.doc_第1页
Access表达式.doc_第2页
Access表达式.doc_第3页
Access表达式.doc_第4页
Access表达式.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

什么是表达式?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(),mmmm d, yyyy)在此示例中,我们提供两个参数。第一个参数是 Date 函数。通常可以将一个函数返回的值作为参数提供给另一个函数。在本例中,我们提供由 Date 函数返回的当前日期。第二个参数(与第一个参数以逗号分隔)是用于告知 Format 函数如何设置日期格式的文本字符串。请注意,文本字符串应用引号括起来。一般而言,当您需要提供文本时,请将其放在引号中。Access 支持多种内置函数。有关可用函数的更多信息,请参见函数(按类别)(英文)和函数(按字母顺序)(英文)帮助主题。常量常量是一种在 Access 运行时其值保持不变的命名数据项。在表达式中最常用到的常量包括 True、False 和 Null。您也可以在 Visual Basic for Applications (VBA) 中定义自己的常量,以在 VBA 程序中使用。VBA 是 Access 使用的编程语言。注释您不能在用于表达式的自定义函数中使用 Microsoft Visual Basic 常量。例如,Visual Basic 具有表示一周中各天的常量: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 函数可计算记录源中一组值的总和,在本例中,记录源是名为“总价”的列。在文本框控件中输入表达式在数据库窗口中的“对象”下,单击“窗体”。 单击某个窗体,然后单击数据库窗口中的“设计”。 单击文本框以将其选中。 在“视图”菜单上,单击“属性”以显示该文本框的属性表。 Access 将显示该文本框的属性表。将文本框的“控件来源”属性更改为 = 后面跟着表达式,或单击属性框右侧的“生成器”按钮 使用表达式生成器创建一个表达式。例如,要计算如上所示的小计,请键入 =Sum(总价)。 属性表看上去与下图相似。关闭该属性表。 在查询设计网格的条件单元格中可以使用表达式定义查询条件。Access 会只返回与该条件匹配的那些行。例如,假定您要查看发货日期在 2004 年中的所有订单。要输入条件,可在查询中“发货日期”列的“条件”单元格中输入下面的表达式:Between #1/1/2004# And #12/31/2004#“发货日期”列看上去与下图相似。 可以使用表达式来确定发货日期是否位于指定的日期范围内。请注意,日期值两侧带有编号符号 (#)。Access 将编号符号内的值视为“日期/时间”数据类型。在查询设计网格中输入条件在数据库窗口中的“对象”下,单击“查询”。 单击某个查询,然后单击数据库窗口中的“设计”。 单击要为其输入匹配条件的列中的条件单元格。 键入条件表达式,或单击工具栏上的“生成器”按钮 使用表达式生成器创建一个表达式。 注释条件表达式的前面不要带 = 运算符。如果希望在较大的区域内输入表达式,请按 Shift+F2 以显示“显示比例” 框。在查询设计网格的字段单元格中可以使用表达式在查询中创建计算字段。例如,假定您要在查询中显示订单发货的年份。要创建计算字段,可在查询中空列的字段单元格中输入以下表达式:年份: Format(发货日期,yyyy)该表达式使用 Format 函数从“发货日期”字段中提取年份并将年份格式设置为四位数字。请注意,通过在表达式前面加上年份:,可将结果列命名为“年份”。在查询设计视图中输入计算字段在数据库窗口中的“对象”下,单击“查询”。 单击某个查询,然后单击数据库窗口中的“设计”。 单击希望在其中创建计算字段的列中的字段单元格。 键入表达式,或单击工具栏上的“生成器”按钮 使用表达式生成器创建一个表达式。表达式格式应以名称开头,后跟一个冒号。例如,键入总价: 作为一个表达式的开头,该表达式将创建一个名为总价的计算字段。 在表中字段的“有效性规则”属性中另一个经常使用表达式的地方是表中字段的“有效性规则”属性。假定您要实施某一规则,该规则可强迫“库存量”表中的 单位数量 字段包含一个大于或等于零的值。也就是说,库存量绝不能为负数。使用下图中所示的表达式可以做到这一点。在表中输入字段的有效性规则在数据库窗口中的“对象”下,单击“表”。 单击某个表,然后单击数据库窗口中的“设计”。 单击所需字段的字段名称。 单击“有效性规则”属性框。 键入表达式,或单击属性框右侧的“生成器”按钮 使用表达式生成器创建一个表达式。 注释创建有效性规则时,不要在表达式前面加 = 运算符。使用有效性规则表达式时要记住的重要一点是:这些表达式必须解析为 True 值才能被接受。因此,在本例中,单位数量 的值必须 =0。否则,Access 将显示“有效性文本”属性框中所示的文本。如果您未在“有效性文本”属性框中输入任何文本,Access 会显示其自身的消息,以表明您输入了字段的有效性规则所禁止的值。在控件的“有效性规则”属性中还可以设置控件的“有效性规则”属性。例如,假定您要使用窗体输入报表的日期范围,并希望确保起始日期不要早于 #1/1/2004#。您可以设置要在其中输入起始日期的文本框的“有效性规则”和“有效性文本”属性,如下所示。属性设置有效性规则=#1/1/2004#有效性文本输入的日期不得早于 2004-01-01。如果您尝试输入一个早于 #1/1/2004# 的日期,则会显示一条消息。单击“确定”后,将返回到文本框。为控件输入有效性规则在数据库窗口中的“对象”下,单击“窗体”或“报表”。 单击某个窗体或报表,然后单击数据库窗口中的“设计”。 单击控件以将其选中。 单击工具栏上的“属性”按钮。 Access 将显示该控件的属性表。单击“全部”选项卡,然后单击“有效性规则”属性框。 键入表达式,或单击属性框右侧的“生成器”按钮 使用表达式生成器创建一个表达式。 注释创建有效性规则时,不要在表达式前面加 = 运算符。还可更改“有效性文本”属性。 关闭该属性表。 如果输入了有效性规则所禁止的值,则可以在插入点位于控件中时按 Esc,以便恢复为初始值或默认值。然后可以输入一个符合有效性规则的值。如果控件的“控件来源”属性是表中的一个字段,那么在通常情况下,除了设置该控件的“有效性规则”属性外,最好也对字段的该属性进行设置。这样,无论使用哪个窗体或查询来更新字段,都始终会实施该规则。在表中字段的“默认值”属性中可以使用表达式将字段的默认值存储在表中。例如,假定您要在添加新记录时将日期和时间自动插入“订购日期”字段中。可以使用如下表达式。该表达式使用 Now 函数将日期和时间插入“订购日期”字段中。在表中输入字段的默认值在数据库窗口中的“对象”下,单击“表”。 单击某个表,然后单击数据库窗口中的“设计”。 单击所需字段的字段名称。 单击“默认值”属性框。 键入表达式,或单击属性框右侧的“生成器”按钮 使用表达式生成器创建一个表达式。 如果控件绑定到表中的某个字段,并且该字段具有默认值,则将优先使用该控件的默认值。在控件的“默认值”属性中另一个经常使用表达式的地方是控件的“默认值”属性。在表中,控件的“默认值”属性的行为类似于字段的“默认值”属性。例如,如果您要输入当前日期作为“订购日期”文本框的默认值,可以使用如下表达式。该表达式使用 Date 函数返回当前日期,但不返回时间。如果该文本框控件绑定到表中的某个字段,并且该字段具有默认值,则将优先使用控件的默认值。通常,最好在表中设置字段的“默认值”属性,因为只要控件不覆盖此默认值,就始终会应用它。输入控件的默认值在数据库窗口中的“对象”下,单击“窗体”或“报表”。 单击某个窗体或报表,然后单击数据库窗口中的“设计”。 单击控件以将其选中。 单击工具栏上的“属性”按钮。 Access 将显示该控件的属性表。单击“全部”选项卡,然后单击“默认值”属性框。 键入表达式,或单击属性框右侧的“生成器”按钮 使用表达式生成器创建一个表达式。 关闭该属性表。 在宏中的“条件”列中在某些情况下,您可能希望仅在满足特定条件时在宏中执行一个操作或一系列操作。例如,假定您希望仅在“计数器”文本框的值为 10 时才执行操作。可以使用表达式在宏的“条件”列中定义条件。输入执行宏操作的条件在数据库窗口中的“对象”下,单击“宏”。 单击某个宏,然后单击数据库窗口中的“设计”。 单击与要选择的宏操作对应的“条件”单元格。 如果看不到“条件”列,请在“视图”菜单上单击“条件”。键入一个条件表达式。 关闭该宏。 与“有效性规则”属性一样,“条件”列表达式是一个条件表达式。它必须解析为 True 或 False。仅在条件为 True 时才执行操作。在“排序与分组”框中可以使用“排序与分组”框定义报表的分组级别和排序选项。可以根据字段或表达式进行分组。例如,假定您要按国家、姓名和订单 ID 的先后顺序对报表进行分组。如果姓名信息存储在单独的字段(“姓氏”和“名字”)中,则需要使用如下图所示的表达式进行分组。该表达式使用与号 (&) 运算符合并文本值(通常称为字符串连接)。有关合并文本值的更多信息,请参见本文的合并文本值部分。在“排序与分组”框中输入表达式在数据库窗口中的“对象”下,单击“报表”。 单击报表,然后单击数据库窗口中的“设计”。 在“设计”视图中打开报表。 在“视图”菜单上,单击“排序与分组”。 单击“字段/表达式”列中的单元格。 在 = 运算符后键入一个表达式。 返回页首使用“表达式生成器”“表达式生成器”可以帮助您创建表达式。“表达式生成器”是一个可从写入表达式的大多数位置启动的工具。使用它可轻松访问数据库中所用字段和控件的名称,还可访问许多在写入表达式时可以使用的内置函数。可以使用“表达式生成器”从头开始创建表达式,也可以从一些预先生成的用于显示页码、当前日期、当前日期和时间的表达式中进行选择。表达式框生成器的上部包含一个表达式框,可在其中构建表达式。可以使用生成器下面部分的三栏来查找可粘贴到表达式框中的元素。也可以在表达式框中直接键入部分表达式。这样,通过将键入和粘贴操作配合使用,就可以构建一个表达式。 运算符按钮“表达式生成器”的中间部分显示了一些常用运算符按钮。要在表达式框中插入运算符,请单击相应的按钮。要显示可在表达式中使用的运算符列表,请单击下方左侧栏中的“操作符”文件夹,然后在中间栏内单击所需的类别。右侧栏中随即列出选定类别的所有运算符。要插入某一运算符,请双击该运算符,或选中它并单击“粘贴”。 表达式元素下面部分包含三栏: 左侧栏显示了一些文件夹,这些文件夹列出了数据库中的表、查询、窗体和报表,以及可用内置函数、用户定义的函数、常量、运算符和通用表达式。 中间栏列出了左侧栏中所选文件夹的特定元素或元素类别。例如,如果单击左侧栏中的“内置函数”,则中间栏会列出函数类别。 右侧栏列出了左侧栏和中间栏中所选元素的值(如果有)。例如,如果单击左侧栏中的“内置函数”,然后单击中间栏中的一个函数类别,则右侧栏中会列出选定类别的所有内置函数。 通过在表达式框中键入文本并从生成器的其他区域粘贴元素,可以创建表达式。例如,您可以单击左下方的栏来查看数据库中的任意对象以及函数、常量、运算符和通用表达式。当您单击左侧栏中的数据项时,其他栏会相应地发生变化。例如,当您单击左侧栏中的某个表名称时,中间栏会列出该表中的字段。当您双击“函数”,然后单击“内置函数”时,中间栏会列出所有函数类别,而右侧栏会列出这些类别中的函数。当您双击某一函数以将其插入表达式中时,函数和表示该函数所需参数的文本(以占位符文本形式显示)会出现在表达式框中。随后,您可以使用正确的参数值替换该文本。在将标识符粘贴到表达式中时,“表达式生成器”只插入当前上下文所需的部分标识符。例如,如果从“客户”窗体的属性表中启动“表达式生成器”,然后将该窗体的“Visible”属性标识符粘贴到表达式中,则“表达式生成器”只粘贴属性名称“Visible”。如果在窗体上下文外部使用该表达式,则必须包括完整的标识符:Forms!客户.Visible。在表、窗体或报表中启动“表达式生成器”单击将包含表达式的属性或操作参数框。 单击属性旁边的“生成器”按钮 。 在查询中启动“表达式生成器”单击将包含表达式的设计网格中的单元格。例如,单击希望提供条件的列的“条件”单元格,或单击希望在其中创建计算字段的列的“字段”单元格。 单击工具栏上的“生成器”按钮 。 您可以将“表达式生成器”看作是查找和插入标识符名称(如字段、表、窗体和查询)等容易忘记的内容的一个方式。返回页首表达式的实际应用本节介绍了使用表达式解决问题和计算窗体、报表和表所需信息的一些方法。使用当前日期和时间为新记录添加时间戳在某些表中,在添加记录时不断跟踪(“时间戳”)日期或日期和时间是很重要的。要让 Access 自动为您填充该值,可以创建一个数据类型为“日期/时间”的字段,并将该字段的“默认值”属性设置为 Date() 或 Now()。Date 函数返回在您计算机的系统时钟中存储的当前日期。Now 函数返回当前日期和时间。添加日期和时间戳字段在数据库窗口中的“对象”下,单击“表”。 单击某个表,然后单击数据库窗口中的“设计”。 在最上面的空行中,单击“字段名称”列。 键入字段名称,如“输入日期”。 单击“数据类型”列,然后选择“日期/时间”。 单击“常规”选项卡,然后单击“默认值”属性框。 键入 Now() 或 Date(),然后按 Tab 键。 关闭该表。如果 Access 询问是否要保存更改,请单击“是”。 现在,只要您向表中添加新记录,Access 就会自动将日期或日期和时间插入“输入日期”字段中。合并文本值如果您要合并两个或多个文本字段中的值,可以使用与号 (&) 运算符。例如,您可能希望在“雇员”窗体的窗体页眉中显示雇员的全名。您可以在主体节的文本框中输入雇员的名字和姓氏。 可以使用下面的表达式显示雇员的全名:=名字 & & 姓氏要合并两个或多个控件中的值,需使用 & 运算符,并且应该用引号括起希望插入的值中间的任何内容(空格、标点符号或未更改的文本)。在本例中,使用字符串 在名字和姓氏之间插入了一个空格。添加一个包含全名表达式的文本框在数据库窗口中的“对象”下,单击“窗体”或“报表”。 单击某个窗体或报表,然后单击数据库窗口中的“设计”。 在工具箱中,单击“文本框”工具。 注释如果看不到工具箱,请在“视图”菜单上,单击“工具箱”。在窗体或报表上拖动指针,以创建文本框。 单击该文本框以将其选中。 单击“视图”菜单上的“属性”,然后单击“数据”选项卡。 将“控件来源”属性更改为 =名字 & & 姓氏,然后按 Tab 键。 关闭该属性表。 在某些记录中,您所合并的字段可能没有任何值。这样的空缺值称为 Null 值。在使用 & 运算符和不包含值的字段时,Access 将为该字段返回一个零长度字符串。例如,如果雇员记录只包含姓氏,那么上述示例中的表达式将返回“名字”字段的零长度字符串、空格和“姓氏”字段中的值。在合并值时,您可能希望仅当指定字段不为空时才添加某个值(如逗号)。例如,假定您有一个“客户”表,并且希望合并报表的“城市”、“地区”和“邮政编码”字段中的值。某些记录的“地区”字段中可能不包含值。在这种情况下,如果使用 & 运算符,最终“邮政编码”前面会多出一个逗号。要删除这个不需要的逗号,可以使用加号 (+) 运算符,如下面的示例表达式所示:=(城市 & (, + 地区) & & 邮政编码)+ 运算符合并文本的方式与 & 运算符相同。但是,+ 运算符还支持 Null 传播。这意味着,如果表达式的任何部分为空,则整个表达式都将为空。在上述示例中,应考虑 (, + 地区) 部分。因为使用了 + 运算符,所以仅在“地区”字段中包含值时,括号中的表达式才能包含逗号。如果不包含值,则 Null 传播将发挥作用,并且括号中整个表达式的计算值为空。创建计算控件以执行算术计算可以使用表达式对两个或两个以上字段或控件中的值执行加、减、乘、除运算。例如,假设您记录了客户需要接收订单的日期以及发出订单的日期。通过“订购日期”字段中的值减去“发货日期”字段中的值可以计算出提前(或延迟)多少天发出订单。之所以能够这样做是因为 Access 可以对日期执行算术计算。日期计算的结果称为间隔,该值由两部分组成,包含小数点左边的天数部分和小数点右边的时间部分。如果返回的值是一个正数,则可以知道提前多少天发出订单。如果是一个负数,则可以知道推迟多少天发出订单。如果值为 0,就可以知道订单是按时发出的。添加一个带有表达式的文本框,以计算提前或延迟的天数在数据库窗口中的“对象”下,单击“窗体”或“报表”。 单击某个窗体或报表,然后在数据库窗口中单击“设计”。 在工具箱中,单击“文本框”工具。 注释如果工具箱不可见,请在“视图”菜单中,单击“工具箱”。在窗体或报表中拖动指针以创建文本框。 单击文本框以选中它。 单击“视图”菜单上的“属性”,然后单击“数据”选项卡。 将“控件来源”属性更改为 =订购日期-发货日期,然后按 Tab 键。 关闭属性表。 在使用 +、*、/ 或 运算符对两个值进行计算,而其中一个值为 Null(即没有输入任何值)时,表达式的值也为 Null。例如,如果上述表达式中的一个日期为 Null,则整个表达式的值也将为 Null。在报表中,这会导致显示空白区域。如果要将 Null 值替换为 0,则可以使用 Nz 函数将 Null 值转换为零。例如:=Nz(订购日期-发货日期,0)注释可以对表中的字段进行设计,以使用户无法输入 Null 值。在设计表时,请将该字段的“必填”属性设置为“是”。还应将该字段的“默认值”属性设置为一个非 Null 值。将两个控件中的值相加通常,您可能需要将两个控件中的值加在一起。例如,要计算订单的总成本,则需要将“小计”和“运费”控件中的值加在一起,如下图所示。要计算订单合计,可以在“订单”窗体的主体节中创建一个文本框。添加一个带有计算合计表达式的文本框在数据库窗口中的“对象”下,单击“窗体”或“报表”。 单击某个窗体或报表,然后在数据库窗口中单击“设计”。 在工具箱中,单击“文本框”工具。 注释如果工具箱不可见,请在“视图”菜单中,单击“工具箱”。在窗体或报表中拖动指针以创建文本框。 单击文本框以选中它。 单击“视图”菜单上的“属性”,然后单击“全部”选项卡。 按下表所示设置属性值。 属性设置名称合计控件来源=小计+运费格式货币关闭属性表。 将两个值相乘以计算销售税假设您需要计算订单的销售税,并且销售税率存储在“销售税”控件中,可以用“小计”控件中的值乘以“销售税”控件中的值来计算销售税。要计算销售税,请在“订单”窗体的主体节中创建一个文本框。添加一个带有表达式的文本框以计算销售税在数据库窗口中的“对象”下,单击“窗体”或“报表”。 单击某个窗体或报表,然后在数据库窗口中单击“设计”。 在工具箱中,单击“文本框”工具。 注释如果工具箱不可见,请在“视图”菜单中,单击“工具箱”。在窗体或报表中拖动指针以创建文本框。 单击文本框以选中它。 单击“视图”菜单上的“属性”,然后单击“全部”选项卡。 按下表所示设置属性值。 属性设置名称销售税控件来源=小计*销售税率格式货币关闭属性表。 汇总和计数通常,您需要计算存储在一组记录中的值的总和。例如,您可能需要计算报表中组页脚的组总计数,或者计算窗体中行数据项的订单小计。有时候,您可能需要计算数据项数,而不是对它们汇总。要计算一组记录的总和,您需要使用 Sum 函数,要计算一组记录的数目,则需要使用 Count 函数。例如,要计算按客户分组显示订单的报表中订单的数目,可以使用下面的表达式:=Count(订单ID)可以使用 Sum 和 Count 函数的参数表达式中的字段名称,但不使用控件名。字段名称可以来自表或查询。甚至还可以使用查询中计算字段的名称。不过,如果想要得到计算控件中值的总计,必须在 Sum 函数中重复在计算控件中使用的表达式。如果想在窗体中多次引用同一表达式,或者要使用某个函数(如 Sum),则应考虑在窗体的基本查询中是否可以包含该表达式。这样就可以在查询中(而不在窗体中)执行计算。而在查询中执行计算的速度通常比较快。有关汇总与计数的详细信息,请参见下面的文章:使用 Access:报表中的汇总(英文) 使用 Access:报表中的计数(英文) Sum 函数(英文) Count 函数(英文) DSum 函数(英文) DCount 函数(英文) 计算子窗体中的订单小计在创建订单窗体时,经常使用一个主窗体和一个子窗体。主窗体和子窗体由公共字段(如“订单ID”)链接。主窗体包含订单明细,如“付款人”和“收货人”信息,子窗体包含有关已订购的行数据项的详细信息,如产品、数量和单价。主窗体中的信息来自一个包含“订单”表的查询。子窗体中的信息来自一个包含“订单明细”表的查询。如果使子窗体以一个包括计算字段的查询为基础来计算总价,则可以对“总价”字段中的值进行求和,以计算小计。要计算订单小计,请在“订单”子窗体的窗体页脚中创建一个文本框。在子窗体中添加一个带有计算订单小计的表达式的文本框在数据库窗口中的“对象”下,单击“窗体”。 单击子窗体,然后单击数据库窗口中的“设计”。 在工具箱中,单击“文本框”工具。 注释如果工具箱不可见,请在“视图”菜单中,单击“工具箱”。在窗体上拖动指针以创建文本框。 单击文本框以选中它。 单击“视图”菜单上,单击“属性”,然后单击“全部”选项卡。 按下表所示设置属性值。 属性设置名称订单小计控件来源=Sum(总价)格式货币关闭属性表。 尽管是在子窗体上的文本框中计算订单小计的,但该值仅显示在主窗体中。要隐藏子窗体中的文本框,可以将其放在子窗体的窗体页脚中,并将子窗体的“默认视图”属性设置为“数据表视图”。在数据表视图中使用窗体时,Access 不显示窗体页眉或页脚。最后,可将子窗体插入主窗体中。子窗体通常不能作为独立的窗体正常工作。子窗体通常被设计为依赖于主窗体中的某个值。仅在将子窗体插入主窗体中并建立了链接两个窗体的字段(如“订单ID”)后,Access 才会将子窗体限制到适当的记录。例如,在将“订单”窗体与子窗体一起使用时,主窗体上的“订单 ID”将限制子窗体中具有相同订单 ID 号的记录。引用主窗体上的订单小计主窗体和子窗体上的控件可以相互引用。要引用子窗体上的值,可以使用一个表达式。如下图所示。主窗体上子窗体控件的名称“窗体”属性,它提供了对子窗体的控件和属性的访问子窗体上文本框控件的名称要显示订单小计,请在“订单”窗体的主体节中创建一个文本框。将子窗体的小计显示在“订单”窗体主体节的文本框中在数据库窗口中的“对象”下,单击“窗体”。 单击“订单”窗体,然后单击数据库窗口中的“设计”。 在工具箱中,单击“文本框”工具。 注释如果工具箱不可见,请在“视图”菜单中,单击“工具箱”。在窗体的主体节中拖动指针以创建文本框。 单击文本框以选中它。 单击“视图”菜单上的“属性”,然后单击“全部”选项卡。 按下表所示设置属性值。 属性设置名称小计控件来源=订单子窗体.Form!订单小计格式货币关闭属性表。 查找表中的值在设计窗体时,您可能需要显示窗体没有绑定到的表或查询中的值。例如,您可能有一个绑定到“产品”表中的“产品”窗体。但在设计该窗体之后,您决定让它显示供应商联系人的姓名。而供应商联系人的姓名来自“供应商”表。可以使用 DLookup 函数查找和显示另一个表或查询中的值。应为 DLookup 函数提供三个参数:要查找其值的字段的名称 字段所在的表或查询 用于查找记录的条件 要添加供应商联系人,请在设计视图中打开“产品”窗体,然后添加带有联系人姓名标签的文本框。用于该文本框的表达式为:=DLookup(联系人姓名,供应商,供应商ID= & Forms!Products!SupplierID)添加供应商联系人文本框在数据库窗口中的“对象”下,单击“窗体”。 单击“产品”窗体,然后单击数据库窗口中的“设计”。 在工具箱中,单击“文本框”工具。 注释如果工具箱不可见,请在“视图”菜单中,单击“工具箱”。在窗体中拖动指针以创建文本框。 单击文本框以选中它。 单击“视图”菜单上的“属性”,然后单击“全部”选项卡。 按下表所示设置属性值。 属性设置标签联系人姓名控件来源=DLookup(联系人姓名,供应商,供应商ID= & Forms!Products!SupplierID)关闭属性表。 该表达式可对“供应商”表进行搜索,并返回其供应商 ID 与“产品”窗体上“供应商ID”控件中的值相匹配的供应商的联系人姓名。请注意使用 & 运算符构建第三个参数的方式。应避免的一个常见错误是用引号将整个参数括起来,而不是仅将 & 运算符前面的文本括起来。注释作为使用 DLookup 函数的一种替代方法,可以更改基本查询以包括所需的信息。使用查询通常更为高效。打印报表中显示的日期对于许多报表,您可能需要打印生成报表的日期。要让 Access 为您填写日期,请使用 Now 函数或 Date 函数。Now 函数可返回在计算机时钟内存储的当前日期和时间。Date 函数仅返回当前日期。可以使用任意一种可用的日期和时间格式来设置这两个函数的结果格式。假设您想打印一份发票报表,并想打印以“中日期”格式显示的发票日期(例如,31-Dec-04)。请在文本框或文本框的“控件来源”属性中键入表达式 =Date() 。将打印日期添加到报表中在数据库窗口中的“对象”下,单击“报表”。 单击某个报表,然后在数据库窗口中单击“设计”。 在工具箱中,单击“文本框”工具。 注释如果工具箱不可见,请在“视图”菜单中,单击“工具箱”。在报表中拖动指针以创建文本框。 注释如果看不到页面页脚,请在“视图”菜单上单击“页面页眉/页脚”。单击文本框以选中它。 单击“视图”菜单上的“属性”,然后单击“全部”选项卡。 按下表所示设置属性值。 属性设置名称打印日期控件来源=Date()格式中日期关闭属性表。 在报表中显示页码如果所设计的报表超过一页,则可能需要添加页码。可以使用“页码”属性添加页码,该属性可在预览或打印报表时自动显示页数。“页码”属性仅在预览或打印报表时可用,因此在属性表中并不显示。可以像使用函数(如 Now 或 Date)一样使用文本框的“控件来源”属性中的“页码”属性。将文本框放在报表的页面页眉或页面页脚中(注意,不包括“页码”属性后面的括号)。可以同时使用“页码”属性和“总页数”属性来构建一个表达式。“总页数”属性可返回报表中的总页数。例如,下面的表达式将生成格式为第 1 页 共 10 页的页面编号。=第 & Page & 页 & 共 & Pages & 页向报表中添加页面编号的前置样式在数据库窗口中的“对象”下,单击“报表”。 单击某个报表,然后在数据库窗口中单击“设计”。 在工具箱中,单击“文本框”工具。 注释如果工具箱不可见,请在“视图”菜单中,单击“工具箱”。在报表的页面页脚部分拖动指针以创建文本框。 注释如果看不到页面页脚,请在“视图”菜单上单击“页面页眉/页脚”。单击文本框以选中它。 单击“视图”菜单上的“属性”,然后单击“数据”选项卡。 将“控件来源”属性框中的值更改为 =Page & Page & of & Pages。 关闭属性表。 注释在“表达式生成器”中,Access 提供了一些用于页面编号的通用表达式。显示报表中的部分值如果一个字段中的前几个或最后几个字符有特殊含义,则可以围绕这些字符来组织报表。例如,如果产品标识代码中的前两个字符指示产品的类型,则可以按代码中的前两个字符对产品进行分组,然后在组页眉中显示这些字符来标识每个组。使用 Left 函数可提取文本字段值中前 n 个字符,使用 Right 函数可提取最后 n 个字符。在这两种情况中,第一个参数是字段名称或文本表达式,第二个参数是要提取的字符数。下表显示了利用这两个函数的表达式。如果“部分 ID”中的值为使用的表达式返回的值AA105=Left(部分ID,2)AAAA105=Right(部分ID,3)105有关 Left 函数和 Right 函数的详细信息,请参见 Left 函数(英文)和 Right 函数(英文)文章。在按字母顺序排列的列表中使用字母分隔符为了在产品列表中进行快速查找,可以按产品名称的第一个字母对产品进行分组,并在组页眉中显示该字母,如下图所示。要每次在产品名称的第一个字母改变时开始一个新组,并按字母顺序对每个组中的产品进行排序,请按下表所示设置“排序与分组”框中的属性。字段/表达式排序次序组页眉组页脚组 依据组间距保持同页产品名称升序可以可以前缀字符1整个组产品名称升序不可以不可以每个值1不可以显示“排序与分组”框在“设计视图”中打开报表。 在“视图”菜单上,单击“排序与分组”(或单击工具栏上的“排序与分组”)。 要在一个新组的开始处仅显示名称的第一个字母,请在“产品名称”标题的文本框中使用下面的表达式:=Left(产品名称,1)显示日期的对应数值可以按一段时间的数值组织报表中的记录 时间段可以是年、季度、月或周。例如,一年分为 53 个日历周(一年的第一周和最后一周通常不完整)。例如,从 1994 年 12 月 18 日到 1994 年 12 月 24 日之间的一周的数值为 52。使用这些数值,可以按一年中的第几周对发送的订单进行分组。要查找某个日期的数值,可以使用 DatePart 函数。该函数的格式为:DatePart(interval, date)interval 参数是要返回的日期部分的缩写。有效的缩写示例为:“yyyy”表示四位数字格式的年份,“q”表示日历季度,“m”表示月份。date 参数是字段名称或文本日期,如“1-Jul-94”。注释还可以选择向 DatePart 函数添加两个参数 一个表示一周的第一天,另一个表示一年的第一周。在这两个参数中,可以接受通过 FirstWeekday 和 FirstWeek 视图选项设置的值,也可以自己指定值。下表列出了为字段名“假日”返回的结果示例。“假日”字段可存储与您的公司有业务往来的国家/地区的假日。如果“假日”中的值为使用的表达式返回的值1-Jan-94=DatePart(w,假日)7(一周的第几天)31-Dec-94=DatePart(ww,假日)53(一年的第几周)31-Dec-94=DatePart(yyyy,假日)1994(一年的四位数字)有关使用 DatePart 函数的详细信息,请参见文章 DatePart 函数(英文)。 要了解有关创建分组报表的详细信息,请参见文章创建分组或汇总报表。比较多个年份的结果如果需要对一年以上的销售结果进行分析,那么按时间段(例如按季度或月份)对结果进行分组比较方便。这样,可以快速查看一年中某个时间段的业绩与另一年中的相同时间段的业绩的比较结果。例如,假设您想查看显示发送的订单数量和销售总计的“按季度汇总销售额”报表。要创建组页眉和页脚以及指定该报表的排序次序,请按下表所示设置“排序与分组”框中的属性。注意,在发送订单时是使用表达式按季度进行分组的。字段/表达式排序次序组页眉组页脚组 依据组间距保持同页=DatePart(q,发货日期)升序可以可以每个值1可以发货日期升序不可以可以年1不可以发货日期升序不可以不可以每个值1不可以订单 ID升序不可以不可以每个值1不可以显示“排序与分组”框在“设计视图”中打开报表。 在“视图”菜单上,单击“排序与分组”(或单击工具栏上的“排序与分组”)。 要在一个新组的开头显示某个季度,请使用以下与“排序与分组”框中相同的表达式,在组页眉中放置一个文本框:=DatePart(q, 发货日期)计算行数据项总数假设您需要一个显示有关订单信息的发票报表,并且需要计算行数据项的总价(每种产品的总销售额)。请首先创建一个提供报表数据的查询,在该查询中包括所需表(如“订单”表、“订单明细”表和“客户”表)中所有需要的字段。然后可以在查询设计网格中创建一个计算字段,以计算发票上每种产品的总价。创建计算字段在数据库窗口中的“对象”下,单击“查询”。 单击某个查询,然后单击数据库窗口中的“设计”。 在查询设计网格中,单击一个空列的“字段”行。 在“字段”单元格中键入一个名称、冒号 (:) 和一个表达式。要计算总价,可以使用如下表达式:

温馨提示

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

评论

0/150

提交评论