在Access 2010中,我尝试在计算列中使用自定义VBA函数。我得到'表达式不能用于计算列'。自定义函数错误:'该表达式不能用于计算列'
这里是我的步骤:
- 启动Access 2010中
- 创建一个新的数据库 “DB”。
- 使用文本列“Column1”创建表“Table1”。在Column1中使用“hello”创建一个测试行。
- 在“创建”功能区上,单击右上角的“模块”,该模块启动VBA编辑器。
- 在VBA编辑器的“项目”窗口中,有两个项目“ACWZTOOL”和“DB”。选择“DB”并选择“插入” - >“模块”。
写下面的代码:
Public Function TestFunc() As String TestFunc = "test" End Function
- “调试” - > “编译DB” 过去了, “保存” 和关闭VBA编辑器。现在“Module1”出现在左侧窗格的“Modules”选项卡中。
- 在Table1中,创建一个计算列“Column2”,并使用表达式“Len([Column1])”,该列适用于测试行中的值为5的情况。
- 将表达式更改为“TestFunc()” ,弹出错误。
- 我尝试了其他一些内置函数,似乎只有表达式构建器支持“基本”功能。例如。 “InStrRev()”也不被识别。
请注意,在表格中计算字段是很差的做法。计算字段实际上只应用于可以利用用户定义函数的查询(只要它们在标准模块而不是类模块中)。 –