使用VBA控制更新

时间:2013-11-19 16:03:16

标签: vba access-vba ms-access-2010

我已经构建了一个函数来检查主键是否已经与外键链接。如果已经链接,则会提示用户查看是否要覆盖现有值。如果它尚未链接,则只需将值保存到数据库中,而不会提示用户。

我遇到的问题是,一旦我的功能已经执行了更新,数据库表单也会尝试执行更新,从而导致重复的密钥错误消息。

我意识到我可以解除对表单上的控件的绑定,这样他们就不会尝试执行更新功能,但为了便于使用,我想保持这些控件的绑定。那么我还有什么方法可以通过执行更新来取消表单,并可能只是使用新信息刷新它?我相信这可能是一件容易的事情,虽然我不知道在谷歌搜索的条款,以找到答案。

1 个答案:

答案 0 :(得分:1)

如果您想继续使用此模型,您可以做的最好的事情就是连接Form.BeforeUpdate事件并将Cancel标志设置为true,并调用DoCmd.CancelEvent方法。
代码执行后,可以调用Refresh方法查询新值。

希望这能回答你的问题并解决你的问题。