Office 365版MS Access运行SQL查询提示VAL/MID函数未定义求助
故障根因
你遇到的是Access数据库的引用丢失故障,和SQL逻辑、数据本身无关:
- Access的
VAL()、MID()均为官方内置函数,本身不存在缺失问题。当数据库的VBA引用列表中存在标记为「丢失/缺失」的无效引用项时,会触发全局函数识别异常,哪怕是基础内置函数都会报「未定义」错误。 - 8月版数据库大概率是被其他操作人员在不同Office版本/装了第三方Access插件的设备上打开过,新增了当前设备不支持的外部引用,打开后引用失效触发报错;5月版数据库的引用配置未被修改过,所以运行正常。
修复步骤
不需要迁移数据,直接修复8月版数据库的引用配置即可:
- 打开报错的8月版数据库,按下
Alt + F11调出VBA编辑器 - 点击顶部菜单栏「工具」→「引用」
- 在弹出的引用列表中,找到所有前缀标注「丢失」或「MISSING」的项,逐个取消勾选后点击确认
- 关闭VBA编辑器,重新运行查询即可正常执行
长期规避方案
如果该数据库需要跨设备共享使用,可以在数据库启动事件中加入自动清理无效引用的VBA代码,避免不同设备环境差异导致的引用失效问题。
内容的提问来源于stack exchange,提问作者user16878923
相关产品推荐
相关产品推荐

