Access VBA教程:转换 Microsoft Access 表、窗体和报表

由 Microsoft Access 2002 引入的某些更改可能会影响 1.x 或 2.0 版应用程序的行为。下面的章节将提供有关这些更改的详细信息。

索引和关系

Microsoft Access 表最多可以包含 32 个索引。非常复杂的表(这些表是许多关系的一部分)可能会超过这个索引限制,因此无法转换包含这些表的数据库。3.6 版的Microsoft Jet 数据库引擎根据表之间的关系的双方创建索引。如果数据库没有转换,可删除某些关系,然后重新尝试转换数据库。

组合框的 LimitToList属性

在 Microsoft Access 2002 中,当LimitToList属性设为 True (-1) 时,组合框可接受Null 值,不论列表是否包含 Null 值。而在 2.0 版中,除非列表包含 Null 值,否则其 LimitToList属性设为 True 的组合框将不接受 Null 值。如果要通过使用组合框避免用户输入 Null 值,可将表中字段的Required属性设为 Yes。

OLE对象的菜单和现场激活

当现场激活OLE对象时,为了使用附加的功能,在激活OLE 服务器时,某些菜单命令可能已经移到未被替换的菜单上。

更改不会影响这个已转换的应用程序中的宏,该宏当激活某组件时使用 DoMenuItem 操作来执行 2.0 版的菜单命令。2.0 版本的命令对应于 Microsoft Access 2002 中相应的命令。

引用只读窗体上的控件

在 Microsoft Access 2002 中,不能使用表达式引用绑定到空记录源的只读窗体上控件的值。在旧版本中,表达式返回 Null 值。在引用只读窗体上的控件之前,应该确定窗体的记录源中包含记录。

日期字段和数据输入项

如果在窗体或表数据表上“日期”类型字段中输入 3/3,Microsoft Access 2002 将自动填入当前的年份。不过如果在同样的字段中输入 3/3/,Microsoft Access 将返回错误消息。必须省略日期最后的斜线,这样 Microsoft Access 才能将日期转换为正确的格式。

使用“命令按钮向导”创建的按钮

如果在 2.0 或 7.0 版的 Microsoft Access 中,使用“命令按钮向导”生成调用其他应用程序的代码,应该删除该按钮,并使用 Microsoft Access 2002 的“命令按钮向导”来重新创建该按钮。

窗体和报表类模块

在 Microsoft Access 的旧版本中,即使在对象之后没有代码,Form 和 Report对象仍具有相关的类模块。在 Microsoft Access 2002 中,可以将窗体或报表的HasModule属性设为 False。当将“内含模块”属性设为“否”时,因为窗体或报表将不再具有相关的类模块,所以将占用较少的磁盘空间,并且可以更快地加载。

转换后的 2.0 版报表具有不同的页边距

当试图打印或预览从 Microsoft Access 2.0 转换的 Microsoft Access 2002 报表时,如果报表的某些页边距设为 0,可能会遇到问题。当转换 Microsoft Access 2.0 报表时,页边距不能设为 0,而应设为对默认打印机有效的最小页边距。这将避免报表在打印机的不可打印区域打印数据。

要解决这个问题,可减少报表中的列宽度、列间距或列数,使得列宽度加上默认页边距的宽度等于或小于纸张的宽度。

不能使用 Format属性来区别 Null 值和零长度字符串

在 1.x 和 2.0 版中,可以使用控件的Format属性为Null 值和零长度字符串 (" ") 显示不同的值。而在 Microsoft Access 2002 中,要区别窗体控件中的 Null 值和零长度字符串,必须将控件的 ControlSource属性设为一个表达式,以测试 Null 值。例如,要在控件中显示 Null 或 ZLS,必须将它的 ControlSource属性设为下列表达式:

=IIf(IsNull([MyControl]), "Null", Format([MyControl], "@;ZLS"))

上页:Access VBA教程:转换类库数据库和加载项 下页:Access VBA教程:自定义方法和属性

Access VBA教程:转换 Microsoft Access 表、窗体和报表

Access VBA教程:自定义方法和属性 Access VBA教程:窗体
Access VBA教程:窗体的节 Access VBA教程:隐藏属性
Access VBA教程:索引 Access VBA教程:语言专用的属性和方法
Access VBA教程:DoCmd对象的宏操作和方法 Access VBA教程:新增对象
Access VBA教程:编译性能的改善 Access VBA教程:新增事件
Access VBA教程:新增方法(按字母顺序排列) Access VBA教程:新增方法(按对象排列)
Access VBA教程:新增属性(按字母顺序排列) Access VBA教程:新增属性(按对象排列)
Access VBA教程:固有常量的样式 Access VBA教程:创建部分副本
Access VBA教程:含有类模块的程序 Access VBA教程:程序工具栏和菜单栏
Access VBA教程:查询字段 Access VBA教程:报表
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号