Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 禁用访问消息“;您将要粘贴x条记录;?_Vba_Ms Access_Paste - Fatal编程技术网

Vba 禁用访问消息“;您将要粘贴x条记录;?

Vba 禁用访问消息“;您将要粘贴x条记录;?,vba,ms-access,paste,Vba,Ms Access,Paste,我有一个数据表表单,其中包含一个表的数据。当更改行中的数据并保留该行,或插入新记录并保留该行,或删除行时,会有一些事件(更新前、更新后等)处理存储审核记录和粘贴到审核表的操作。我目前处理的情况是: -用户复制Excel数据A1:A2,然后高亮显示垂直单元格值(如下图所示),然后粘贴数据 即使在AfterUpdate事件中退出“Application.Echo True”和“DoCmd.SetWarnings True”,我仍然会收到消息“您将要粘贴x条记录。确实要粘贴吗?”。如果用户选择“否”

我有一个数据表表单,其中包含一个表的数据。当更改行中的数据并保留该行,或插入新记录并保留该行,或删除行时,会有一些事件(更新前、更新后等)处理存储审核记录和粘贴到审核表的操作。我目前处理的情况是:

-用户复制Excel数据A1:A2,然后高亮显示垂直单元格值(如下图所示),然后粘贴数据


即使在AfterUpdate事件中退出“Application.Echo True”和“DoCmd.SetWarnings True”,我仍然会收到消息“您将要粘贴x条记录。确实要粘贴吗?”。如果用户选择“否”,则审核表包含错误数据。如何禁用此通知,但在过程完成后重新打开通知?是否有BeforeDelConfirm的等效项,但用于粘贴确认?

快速方法是在设计模式下打开表单。 打开属性框。 选择/单击某个部分(例如表单左上角的黑色小正方形)以获取表单的属性 选择事件选项卡,并在“更新前”中选择[事件过程]。 在该行的右侧单击。。。这将带您到VBA编辑器 在模块插入中:

Private Sub Form_BeforeUpdate(Cancel As Integer)
    DoCmd.SetWarnings False
End Sub
保存表单并重试

如果需要稍后显示其他对话框,则需要重新启用它。 一个事件可以是OnClick(或者选择一个您认为最适合您的事件)。在这种情况下,对事件执行上述类似操作,最适合您触发对话框功能并输入给定模块:

Private Sub Form_Click()
    DoCmd.SetWarnings True
End Sub

最后,您可以将自定义菜单项或图标添加到访问工具栏中,以便在单击时打开/关闭对话框。

如果您只想关闭此表单的确认消息,请使用激活/停用表单事件

Private子表单_Activate()
Application.SetOption“确认记录更改”,0
端接头
专用子表单_()
Application.SetOption“确认记录更改”,1
端接头
当窗体处于活动状态时,这将停用确认消息,而不是关闭所有带有
DoCmd.SetWarnings False
的消息:


选项列表:

这显示为几个问题混合在一起。我很想帮你,但现在确定你的问题。请一次专注于一个问题并解释它。然后是下一个。如果它们是相关的,请描述它们是如何联系起来的。@Felix这是一个问题,我只是为那些试图复制的人提供了上下文。。“您可以在窗体事件中的什么位置捕获访问错误消息8520”“您将要粘贴|个记录。@确实要粘贴这些记录吗?@@19@@@2”?我刚刚意识到我运行了一个模块,该模块离开了。SetWarnings True。”。然而,我现在的问题是,在编辑、插入、删除操作之后,哪一个事件会实际触发,在这些操作中,我可以重新打开警告,而不会影响弹出消息?例如,我尝试在OnCurrent事件中重新启用它们,但当我按照原始帖子中的描述粘贴两个数据单元格时,它会出现以下事件:BeforeUpdate->AfterUpdate->BeforeUpdate->AfterUpdate->OnCurrent->“您确定要粘贴吗?”。我不能使用OnClick,因为记录选择器是隐藏的。一个想法可能是使用OnTimer。您可以在编辑事件结束时启用计时器。计时器将在2秒后启动,启用对话框并禁用自身(计时器)。