我在MS Access中有一个编码项目。有一些开发人员编码并将源代码签入到SVN-Server中。由于SVN-Server用于管理代码,因此它可以识别源代码文件中的更改。在这些源代码文件中有一个问题。VBA经常更改大写和小写字母,我们不知道为什么。
当我执行提交时,它是即
'two examples
Call myfunction(txtNodeID)
rst![Username] = Environ("USERNAME")另一位开发人员更新了他的存储库,并使用了我的代码,它更改为
'two examples
Call myfunction(txtNodeId)
rst![UserName] = Environ("USERNAME")SVN认为这是一种变化。因此,我们有许多更改的文件,虽然逻辑没有更改,但访问修改了大写和小写。
有谁知道Access为什么会这样,以及如何防止这种情况?
谢谢。
发布于 2018-06-04 16:46:04
VBA编辑器应该强制变量名的大小写与声明的变量名相同。这意味着,您应该无法编写以下代码:
Dim someID As String
someId = "5"它对函数也是如此。所以ENVIRON变成了Environ。
但是,如果不强制变量声明(顶部没有Option Explicit ),这可能会变得很奇怪。然后,编辑器将很难知道哪个是正确的大小写,并倾向于将所有内容都更改为第一个出现的大小写。
解决方案是让所有的开发人员都使用Option Explicit,这样每个变量都被显式声明,并且VBA编辑器知道哪个是正确的大小写(还有许多其他优点)。为了避免异常,他们还应该在保存之前使编辑的行失去焦点(这是检查发生的时候,所以如果你真的想这样做的话,你可以这样做。如果这样做,当触摸时它可以更改为正确的大小写)。
发布于 2018-06-04 16:46:42
txtNodeID被改为txtNodeId,因为后者是以某种方式在程序中声明的。试试这首曲子:
Sub TestMe()
someVariable = 5
End Sub然后在另一个模块上只写Public SOMEVARIABLE。TestMe sub现在看起来像这样:
Sub TestMe()
SOMEVARIABLE = 5
End Subhttps://stackoverflow.com/questions/50676275
复制相似问题