Access嵌入宏报错:对象Personnel Lookup未打开(错误2489)
Access错误2489:对象Personnel Lookup未打开的原因及解决方法
问题根源
GoToRecord操作的核心要求是目标对象必须已经处于打开状态,你的OnLoad宏直接尝试跳转到未打开的「Personnel Lookup」查询和「Personnel List」表,自然触发找不到对象的2489错误。- 你混淆了「跳转到新记录」和「打开对象并跳转到新记录」的逻辑:GoToRecord是对已打开对象的操作,不能直接触发对象的打开。
解决步骤
修改Personnel Management表单的OnLoad嵌入式宏,按以下顺序添加操作:
- 打开查询:使用
OpenQuery操作,对象名称选择「Personnel Lookup」,视图选「数据表」,窗口模式按需设置(比如「普通」或「隐藏」)。 - 打开表:使用
OpenTable操作,对象名称选择「Personnel List」,视图选「数据表」,窗口模式按需设置。 - 查询跳转到新记录:使用
GoToRecord操作,对象类型选「查询」,对象名称选「Personnel Lookup」,记录选项选「新记录」。 - 表跳转到新记录:使用
GoToRecord操作,对象类型选「表」,对象名称选「Personnel List」,记录选项选「新记录」。
额外注意事项
- 确认「Personnel Lookup」和「Personnel List」的名称拼写完全一致,包括空格和特殊字符,Access对名称的拼写错误零容忍。
- 如果不需要让查询和表在界面显示,可将OpenQuery/OpenTable的「窗口模式」设为「隐藏」,不影响GoToRecord操作的执行。
内容的提问来源于stack exchange,提问作者mkcoehoorn
相关产品推荐
相关产品推荐

