Access VBA教程:DoCmd对象的宏操作和方法

若要在 Microsoft Access 代码中运行宏操作,可使用DoCmd对象及其方法。该对象代替 Microsoft Access 1.x 和 2.0 版本中的 DoCmd 语句来执行宏操作。

当转换数据库时,Microsoft Access 通过用 .(点)运算符替换空格,自动将任何在 Access Basic 代码中执行的 DoCmd 语句和操作转换为 DoCmd对象的方法。

某些宏操作在 Microsoft Access 9.0 中及更高版本中与在 1.x、2.0 或 7.0 版中的工作方式不同,下面详细说明这些差异。

用 Microsoft Access 95 创建的数据库

DoMenuItem 操作

在 Microsoft Access 中不再使用 DoMenuItem 操作。RunCommand 操作将用于完成 DoMenuItem 操作所执行的任务。

当启用用旧版本 Microsoft Access 创建的数据库时,DoMenuItem 操作将继续执行以前的功能。

当转换用旧版本 Microsoft Access 创建的数据库时,转换后首次保存时,宏中所有的 DoMenuItem 操作均将替换为 RunCommand 操作。而 Visual Basic 过程中使用的 DoMenuItem方法则不会更改。

用 Microsoft Access 1.x 或 2.0 版本创建的数据库

TransferSpreadsheet 操作

Microsoft Access 不能导入 Microsoft Excel 2.0 版的电子表格或 Lotus1-2-3 1.0 版的电子表格。如果转换包含宏的数据库,而该宏使用 Microsoft Access 1.x 或 2.0 版中的 TransferSpreadsheet 操作提供这种功能,则转换数据库过程会将“电子表格类型”参数改为 Microsoft Excel 3.0 版(假如最初指定的是 Microsoft Excel 2.0 版);如果最初指定的是 Lotus1-2-3 1.0 版的格式,则会出现错误。

要解决该问题,应在将电子表格导入到 Microsoft Access 之前,先将电子表格转换为新版本的 Microsoft Excel 或 Lotus 1-2-3。

TransferText 和 TransferSpreadsheet 操作

在 Microsoft Access 中使用 TransferText 操作或 TransferSpreadsheet 操作时,不能使用SQL 语句来指定要导出的数据。必须先创建查询,然后在“表名”参数中指定查询的名称,而不是使用 SQL 语句。

比较 Null 值

在 Microsoft Access 1.x 和 2.0 版中,如果在宏条件中用比较运算符比较两个表达式,且其中的一个表达式是Null,那么根据使用的比较运算符,Access Basic 将返回 True 或 False 作为比较的结果。在 Microsoft Access 2000 或更高版本中,Visual Basic 为表达式等于 Null 的比较返回 Null。为确定比较结果是否为 Null,请使用 IsNull函数检查比较结果。

上页: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教程:报表 Access VBA教程:报表节
Access VBA教程:范围和对象命名的兼容性 Access VBA教程:设置对其他 Microsoft Access 数据库或项目中的 Visual Basic 工程的引用
Access VBA教程:设置对类型库的引用 Access VBA教程:Snapshot Viewer 控件
Access VBA教程:“排序与分组”框 Access VBA教程:字符串函数运算的差异
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号