代码之家  ›  专栏  ›  技术社区  ›  BIBD

如何强制VBA/Access要求定义变量?

  •  20
  • BIBD  · 技术社区  · 17 年前

    3 回复  |  直到 11 年前
        1
  •  35
  •   Jean-François Corbett    11 年前

    你需要使用 Option Explicit

    您可以通过进入VBA编辑器为所有未来创建的模块以及窗体和报表背后的VBA代码设置此设置>>工具>>选项>>编辑器选项卡,并确保选中“要求变量声明”。

    从Access 2003帮助:

    需要变量声明确定模块中是否需要显式变量声明。选择此选项将添加 强制显式声明 语句转换为任何新模块中的通用声明。

    当我对变量进行Dim时,我也使用驼峰案例。 ThisIsAnExampleOfCamelCase 。一旦我退出VBA代码行,如果Access没有将小写变量更改为驼峰大小写,那么我就知道我错了。

        2
  •  16
  •   David-W-Fenton    16 年前

    OPTION EXPLICIT与Access VBA的历史沿革

    根据Tony的回答,以下是对某些Access代码模块中OPTION EXPLICIT未打开的原因的一些解释。

    有选项解释。

    因此,在Access 2000中,默认情况下,创建的模块没有OPTION EXPLICIT。

    在Excel或Word中,数据为

    因此,微软犯了一个错误,将Access的VBE版本与其他应用程序一样,尽管Access自身的目的没有内在的逻辑支持这一举措。然后,MS撤销了这一更改,并恢复到之前的状态(即所有模块中默认的OPTION EXPLICIT)。

    因此,您经常会看到在Access 2000中开始使用的应用程序,它们在没有OPTION EXPLICIT的情况下到处都有模块。当我必须开发这样一个应用程序时,我的第一个任务是在所有模块中实现OPTION EXPLICIT,然后修复该死的东西,使其能够编译(这通常很困难,因为该东西是在没有它的情况下编程的)。

        3
  •  0
  •   Community Mohan Dere    9 年前

    这个问题对Excel非常有帮助,您可能会看到它是否适用于Access:

    Lost Variables

    MZ-Tools here .使用 Review Source Code 功能。

    推荐文章