首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Access VBA随机更改大小写

Access VBA随机更改大小写
EN

Stack Overflow用户
提问于 2018-06-04 16:27:24
回答 2查看 1.6K关注 0票数 4

我在MS Access中有一个编码项目。有一些开发人员编码并将源代码签入到SVN-Server中。由于SVN-Server用于管理代码,因此它可以识别源代码文件中的更改。在这些源代码文件中有一个问题。VBA经常更改大写和小写字母,我们不知道为什么。

当我执行提交时,它是即

代码语言:javascript
复制
'two examples
Call myfunction(txtNodeID)
rst![Username] = Environ("USERNAME")

另一位开发人员更新了他的存储库,并使用了我的代码,它更改为

代码语言:javascript
复制
'two examples
Call myfunction(txtNodeId)
rst![UserName] = Environ("USERNAME")

SVN认为这是一种变化。因此,我们有许多更改的文件,虽然逻辑没有更改,但访问修改了大写和小写。

有谁知道Access为什么会这样,以及如何防止这种情况?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-06-04 16:46:04

VBA编辑器应该强制变量名的大小写与声明的变量名相同。这意味着,您应该无法编写以下代码:

代码语言:javascript
复制
Dim someID As String
someId = "5"

它对函数也是如此。所以ENVIRON变成了Environ

但是,如果不强制变量声明(顶部没有Option Explicit ),这可能会变得很奇怪。然后,编辑器将很难知道哪个是正确的大小写,并倾向于将所有内容都更改为第一个出现的大小写。

解决方案是让所有的开发人员都使用Option Explicit,这样每个变量都被显式声明,并且VBA编辑器知道哪个是正确的大小写(还有许多其他优点)。为了避免异常,他们还应该在保存之前使编辑的行失去焦点(这是检查发生的时候,所以如果你真的想这样做的话,你可以这样做。如果这样做,当触摸时它可以更改为正确的大小写)。

票数 3
EN

Stack Overflow用户

发布于 2018-06-04 16:46:42

txtNodeID被改为txtNodeId,因为后者是以某种方式在程序中声明的。试试这首曲子:

代码语言:javascript
复制
Sub TestMe()
    someVariable = 5
End Sub

然后在另一个模块上只写Public SOMEVARIABLETestMe sub现在看起来像这样:

代码语言:javascript
复制
Sub TestMe()
    SOMEVARIABLE = 5
End Sub
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50676275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档