ms-access - 在 VBA 中工作,我无法将字符串分配给初始化的字符串变量(编译错误 : expected end of statement)

标签 ms-access vba syntax-error

我正在 access 模块中工作,试图初始化变量。出于某种原因声明:

Dim ModName As String = "modWindowsFileSystem" 

在“=”处创建编译错误,错误消息为“Expected:end of statement”。我在多个网站上查找了所有都同意我的语法的格式,这里是一个值得信赖的格式: http://msdn.microsoft.com/en-us/library/7ee5a7s1.aspx 另一个网站建议我在函数中声明变量,例如

Sub AssignValueString()
   Dim Modname As String
   Modname = "modWindowsFileSystem"
End Sub

但这似乎是不必要的。可以考虑的一个问题是我已经保存了模块并将其命名为 modWindowsFileSystem。我不确定这是否会以某种方式与初始化该变量发生冲突。

最佳答案

VBA 与 VB 略有不同。您发布的 msdn 链接实际上是针对 VB 的,它允许内联声明和赋值。不幸的是,VBA 不允许这样做。

因此,您可以拆分它们,就像您的示例一样:

Dim Modname As String
Modname = "modWindowsFileSystem"

或者,您可以放置​​续行字符 : 以在一行中实现此目的。

Dim Modname As String : Modname = "modWindowsFileSystem"

就模块变量的赋值而言,您可以在函数外声明全局变量,但您需要在函数内设置它们的值,例如 init() 函数。常量(标有 Const)可以在函数外声明和赋值。

关于ms-access - 在 VBA 中工作,我无法将字符串分配给初始化的字符串变量(编译错误 : expected end of statement),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24039148/

相关文章:

configuration - OpenLDAP 配置错误 ldap_bind : Invalid credentials (49)

excel - Onclick 将查询结果从 Access 导出到 Excel

sql - 使用 DAO.Recordset 编辑、更新记录

Excel VBA Dir()默认路径?

excel - 打印 VBA 时为每一行编号

mysql - Mysql触发器错误1064

sql - MS Access multi (INNER, LEFT & RIGHT) JOIN 查询

c# - Access 查询中数据类型不匹配异常

r - 如何从 R 中将 Excel 工作表范围导出到图片

php - T_String解析错误