如果字段为空,则关闭表单,出现2585错误[英] Close Form if Field is Blank Gives 2585 Error

问题描述

在我的表单上,我有一个 SSN 和姓名字段.如果 SSN 为空白,则在名称字段的 On Got Focus 中,它会查看 SSN 是否存在(根据其他人的建议在下一个字段中进行).如果存在,它会询问用户是否要转到该记录.是打开另一个表单,否关闭当前表单并进入主菜单(这工作正常).如果 SSN 为 NULL,它告诉用户他们必须输入,并询问您要添加吗?是的 - 返回 SSN 字段(工作正常).对于否,我希望它关闭当前表单.问题,我收到运行时错误 2585.我一直在寻找有关如何修复此错误的几天.据我了解,表单上的进程仍在运行.我不知道如何阻止它.这是我的代码(是的 - 我已经尝试了很多变体但没有运气,但这是最后一个).出现 2585 错误的代码是 DoCmd.Close acForm、"frmVetNewMainForm"、acSaveNo.

展开|选择|Wrap|行号
解决方案
使用BeforeUpdate事件然后取消交易.

试过了,但是因为我没有在名称中输入任何内容(它是 NULL),所以字段上没有更新,因此 BeforeUpdate 和 AfterUpdate 不起作用.如果我确实在名称中输入了某些内容,它确实有效.如果我将代码移动到 SSN(我正在检查它是否为 NULL)也是如此,BeforeUpdate 和 AfterUpdate 不起作用,因为您没有更新任何东西 - 它是NULL.

我确实尝试将 000-00-0000 放入 SSN 号码并检查它,但仍然收到 2585 错误.我必须查看事件的顺序才能弄清楚在更新之前什么是有效的.On Key Down 在更新前运行.仅供参考 - 只是因为其他人已经问过,以防万一用户点击其他字段,我确实会检查以确保在他们点击关闭按钮时有 SSN.

本文地址:https://www.itbaoku.cn/post/1050691.html