可以在 Access 数据库中对窗体和报表使用计算控件来显示计算结果。 例如,如果有一个报表显示销售的项数和每个单位的价格,则可以添加一个计算文本框,该文本框将这两个字段相乘以显示总价格。 计算文本框的 “控件源” 属性包含一个 表达式 ,该字段将两个字段 (项数乘以单价) 以获取结果。
您要做什么?
创建计算控件
此过程有助于在不使用控件向导的情况下创建计算控件。
-
右键单击导航窗格中的窗体或报表,然后单击“ 设计视图”。
-
在“ 设计 ”选项卡上的“ 控件 ”组中,单击要创建的控件类型的工具。
有关可用作计算控件的控件类型的列表,请参阅 了解可用作计算控件的控件类型部分。
-
将指针置于希望控件放置在窗体或报表上的位置,然后单击窗体或报表以插入控件。
-
如果控件向导启动,请单击“ 取消 ”将其关闭。
-
选择控件,按 F4 显示属性表,然后在“ 控件源 ”属性框中键入表达式。 若要使用 表达式生成器 创建表达式,请单击“ 控件源 ”属性框旁边的“ ”。
-
切换到“窗体”视图或“报表”视图,并验证计算控件是否按预期工作。
注意:
-
在每个表达式前面加上 = 运算符。 例如: =[UnitPrice]*.75。
-
有关创建表达式的详细信息,请参阅了解如何生成表达式一文。
-
如果需要更多空间来在“ 控件源 属性”框中键入表达式,请按 Shift+F2 打开 “缩放 ”框。
-
如果窗体或报表基于查询,则可能需要将表达式放在查询中,而不是放在计算控件中。 这样做可以提高性能,如果要计算记录组的总计,则可以更轻松地在 聚合函数 中使用 计算字段 的名称。
-
在窗体或报表中对计算控件进行排序时,请确保正确设置控件的 Format 属性。 否则,计算的数字或日期值可能会按字母顺序而不是数值排序。
-
将绑定控件更改为计算控件
创建计算控件的一个好方法是先创建绑定控件 (例如,将字段从“ 字段列表 ”窗格拖动到窗体或报表) ,然后编辑绑定控件的 Control Source 属性以创建表达式。 只要确保控件的名称不与表达式中包含的任何字段名称冲突,这就可以正常工作。 有关通过从“ 字段列表 ”窗格拖动字段来创建绑定控件的详细信息,请参阅将 字段添加到窗体或报表一文。
假设已创建绑定控件,请使用以下过程将其更改为计算控件并避免任何名称冲突。
-
右键单击导航窗格中的窗体或报表,然后单击“ 设计视图”。
-
单击要更改的字段,然后按 F4 打开属性表。
-
在属性表的“ 全部 ”选项卡上,如果 Name 属性与 “控件源” 属性匹配,请编辑 Name 属性,使两个属性不匹配。 确保输入的名称不是保留字或数据库中其他字段的名称。 有关保留字的详细信息,请参阅 了解 Access 保留字和符号一文。
-
编辑“ 控件源” 属性框中的字符串,使其包含所需的表达式。
-
按 Ctrl+S 保存所做的更改。
-
切换到布局视图或窗体视图,并验证计算控件是否按预期工作。
例如,如果控件未显示所需的数据 (,例如,如果 Access 在控件) 中显示 #Name?,检查窗体或报表的记录源,以确保表达式中使用的所有字段都可用。 如果记录源是查询,则可能需要向查询添加一个或多个字段,然后表达式才能正常工作。
注意:
-
在每个表达式前面加上 = 运算符。 例如: =[UnitPrice]*.75。
-
如果需要更多空间来在“ 控件源 属性”框中键入表达式,请按 Shift+F2 打开 “缩放 ”框。
-
如果窗体或报表基于查询,则可能需要将表达式放在查询中,而不是放在计算控件中。 这样做可以提高性能,如果要计算记录组的总计,则可以更轻松地在 聚合函数 中使用 计算字段 的名称。
-
在窗体或报表中对计算控件进行排序时,请确保正确设置控件的 Format 属性。 否则,计算的数值或日期值可以按字母顺序而不是数值排序。
了解哪些控件类型可用作计算控件
文本框是计算控件最常用的选择,因为它们可以显示许多不同类型的数据。 但是,任何具有 Control Source 属性的控件都可以用作计算控件。 在许多情况下,将某个控件类型用作计算控件是没有意义的,因为无法以更新绑定或未绑定控件的方式更新该控件。 例如,如果将检查框控件放在窗体上,然后在“检查”框的“控件源”属性中输入表达式,则无法再单击“检查”框来选择或清除该框。 根据表达式的结果,选中或清除“检查”框。 如果单击“检查”框,Access 会在 Access 状态栏上显示一个警报:无法编辑控件;它绑定到表达式 <表达式>。 但是,在报表上,基于计算结果检查框控件可能很有用,因为报表上的控件仅用于显示信息。