Access 2003完整教程:表达式疑难解答

异常结果

虽然使用表达式相对来说简单一些,但在下列情况下偶尔会出现异常结果:

在表达式中合并(连接)控件、字段值、变量或文本。

在表达式中连接控件、字段值或文本时,如果出现下列情况之一,可能会产生意外结果:

对有空值字段执行操作。

如果在表达式中引用包含空值 (Null) 的字段,则许多操作可能会产生意外结果。例如,如果在DCount函数或者DSum函数中使用的条件表达式中引用带有Null值的字段,则这些函数可能会产生意外结果。

要解决这个问题,可选择:

在表达式中输入日期值。

如果输入日期值时没有按照 ANSI-89 标准用数字符号(#)括起来或按照 ANSI-92 标准用单引号(‘)括起来,Microsoft Access 会产生意外结果。注意 Access 2002 和更高版本遵循 ANSI-92 标准。

引用子窗体或子报表属性或控件。

如果使用错误的标识符引用子窗体或子报表的属性或控件,则 Microsoft Access 可能会产生意外结果。

要引用子窗体或子报表属性,必须使用子窗体或字报表控件的“窗体”或“报表”属性,键入窗体或报表的完整标识名称。例如,下列标识符引用的是“订单子窗体”子窗体的“可见性”属性:

Forms![Orders]![OrdersSubformControl].Form.Visible

表达式引用
Forms![Orders]![OrdersSubformControl]包含子窗体的子窗体控件。
Forms![Orders]![OrdersSubformControl]

.Form

子窗体自身。必须指定“窗体”属性以引用子窗体本身或子窗体的属性之一。

另一方面,要引用子窗体或者子报表中的控件,或者这些控件的属性,并不需要使用“窗体”属性或“报表”属性。例如,下列标识符引用“订单子窗体”子窗体中“折扣”控件的“可见性”属性:

Forms![Orders]![OrdersSubformControl]![Discount].Visible

引用列表框或组合框的列

如果要引用绑定列以外的列,请使用“列”属性。“列”属性是由零开始的。例如,如果要引用“产品”窗体的“供应商组合”组合框中的第二个列,请使用下列语法:

Forms![产品]![供应商组合框].Column(1)

表达式生成器

在“表达式生成器”中找不到字段名。

如果要在“表达式生成器”中查看新字段名称,必须先保存含新字段的表或查询。

在“表达式生成器”中找不到想要的对象或函数。

如果对象或函数未在“表达式生成器”的下部列出,则它在启动生成器所在的环境中无效。例如,在表“设计”视图中,不能在字段的有效性规则中引用其他的字段和控件,因此如果从表“设计”视图中字段的“有效性规则”属性处启动“表达式生成器”,则“表”、“查询”、“窗体”和“报表”文件夹都不可用。

上页:Access 2003完整教程:Visual Basic 代码安全机制疑难解答 (MDB) 下页:Access 2003完整教程:密码疑难解答 (MDB)

Access 2003完整教程:表达式疑难解答

Access 2003完整教程:密码疑难解答 (MDB)Access 2003完整教程:Access 项目疑难解答 (ADP)
Access 2003完整教程:查询疑难解答 (ADP)Access 2003完整教程:复制、转换和链接到 SQL Server 数据库时的疑难解答 (ADP)
Access 2003完整教程:键、关系和索引疑难解答 (ADP)Access 2003完整教程:表和列疑难解答 (ADP)
Access 2003完整教程:“升迁向导”疑难解答Access 2003完整教程:更新数据疑难解答 (ADP)
Access 2003完整教程:Microsoft Office Access 2003 中的新增功能Access 2003完整教程:自定义用“标签向导”创建的标签
Access 2003完整教程:使用图表Access 2003完整教程:使用存储过程
Access 2003完整教程:使用触发器Access 2003完整教程:使用用户定义的函数
Access 2003完整教程:向输入法编辑器 (IME) 字典中添加字词Access 2003完整教程:向查询添加列
Access 2003完整教程:在自定义字典中添加或删除朝鲜文字Access 2003完整教程:Microsoft Access 项目设计器中的对话框帮助汇总
Access 2003完整教程:Microsoft Access 项目中的扩展属性汇总Access 2003完整教程:在筛选字段中允许多个选定内容
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号