Microsoft Access 2016调用Len等函数编译报错的问题求助
解决Access 2016中Len等函数编译错误的问题
问题重现
在Access 2016中,尝试获取表「Values」里Value_Name(短文本类型)字段的长度时,无论是在查询设计视图中输入:
Length of value: Len(Value_Name)
还是直接执行SQL语句:
SELECT Len("Test") AS TestLength;
都会弹出「编译此函数时出错。Visual Basic模块存在语法错误。」或「编译错误。查询表达式 'Len("Test"' 中存在问题」的报错。
解决步骤
压缩修复数据库
打开目标数据库,依次点击「文件」>「信息」>「压缩和修复数据库」,完成操作后重启Access,再重新测试查询。重置VBA模块
按Alt+F11打开VBA编辑器,右键点击项目面板中的模块,新建一个空白模块,输入以下代码并保存:Sub TempTest() End Sub关闭编辑器后重启Access,再次尝试创建查询。
检查并修复VBA引用
打开VBA编辑器,点击「工具」>「引用」,查看列表中是否有标注MISSING的引用项,取消勾选这些缺失的引用后点击确定。若不确定保留哪些引用,可选择「工具」>「引用」>「全部重置」恢复默认设置。规避保留字冲突
表名「Values」属于Access保留字,后续使用时建议给表名添加方括号,示例SQL语句:SELECT Value_Name, Len(Value_Name) AS [Length of value] FROM [Values];修复Office安装
若以上方法均无效,可能是Access安装文件损坏。打开控制面板,找到Microsoft Office,选择「更改」>「快速修复」;若快速修复无效,再尝试「联机修复」。
内容的提问来源于stack exchange,提问作者Developer Webs
相关产品推荐
相关产品推荐

