将 DoCmd.RunSQL 用于 INSERT 和 DELETE 时删除确认

Posted

技术标签:

【中文标题】将 DoCmd.RunSQL 用于 INSERT 和 DELETE 时删除确认【英文标题】:Remove confirmation when using DoCmd.RunSQL for INSERT and DELETE 【发布时间】:2013-05-30 13:42:54 【问题描述】:

我正在使用 DoCmd.RunSQL 方法根据用户在表单中执行的操作来插入和删除记录。它工作正常,但在删除或附加记录之前要求确认。如何删除确认。

顺便说一句,BeforeDelConfirm 事件似乎没有与 DoCmd.RunSQL 一起运行。

【问题讨论】:

Application.DisplayAlerts = False? 谢谢。我认为 Application.DisplayAlerts 仅适用于 Excel。我找到了一个等价物。 DoCmd.SetWarnings。不知道为什么它们在 excel 和 access 中不一致。 【参考方案1】:

而不是使用DoCmd.RunSql 来运行您的 SQL 并担心警报,您可以使用它。

Dim sql as string
Dim dbs as DAO.Database
set dbs = CurrentDb()

sql = "INSERT INTO table(field1) VALUES(1)"
dbs.Execute sql, dbFailOnError

dbs.close
set dbs = nothing

【讨论】:

谢谢。我最终使用了 DoCmd.SetWarnings。反正我学到了一些新东西,因为我不知道你也可以运行这样的 SQL 命令。 关闭SetWarnings 会抑制信息,因此会使故障排除变得困难。 (搜索 SO for ms-access plus SetWarnings)Database.Execute 更好,尤其是明智地包含了 dbFailOnError 选项 Zaider。 +1

以上是关于将 DoCmd.RunSQL 用于 INSERT 和 DELETE 时删除确认的主要内容,如果未能解决你的问题,请参考以下文章

docmd.runsql ("从 &strValue& 中删除 *")

从表中删除所有记录 - doCMD.RunSQL

MS Access currentdb.excute 的结果与 Docmd.RunSQL 不同

如何使用 DoCmd.RunSQL

如何在 Ms Access 2007 中执行 Mysql 查询

无法通过具有长定义的 vba 在 Access 中运行查询