更改和删除查询的删除警告消息

时间:2014-04-03 09:21:41

标签: sql ms-access-2013

我有2个表:ContactsClientsClients中的每条记录都可以包含无限数量的相关联系人。因此,当我创建一个删除客户端的按钮时,它首先删除所有相关的联系人,然后删除客户端本身。

当然,这样按下按钮时,我必须完成大约4条警告信息。我想摆脱所有这些消息,并用一个消息替换它们。

这可能吗?谢谢。

1 个答案:

答案 0 :(得分:1)

正如您所看到的,虽然RunSQL和OpenQuery从简单开始,但它们最终会导致您进行大量额外工作。 OpenQuery命令实际上是为了显示SELECT或CROSSTAB查询供用户浏览。对于Action查询,请使用Execute方法运行已保存的查询和SQL字符串:

  Dim dbs As DAO.Database
  Dim lngRowsAffected As Long
  Dim lngRowsDeleted As Long

  Set dbs = CurrentDb

  ' Execute runs both saved queries and SQL strings
  dbs.Execute cstrQueryName, dbFailOnError

  ' Get the number of rows affected by the Action query. You can
  ' display this to the user, store it in a table, or trigger an
  ' action if an unexpected # (e.g. 0 rows when you expect >0)
  lngRowsAffected = dbs.RecordsAffected
  dbs.Execute "DELETE FROM tblMyTable WHERE Bad", dbFailOnError

  lngRowsDeleted = dbs.RecordsAffected

您可以避免使用SetWarnings,因为Execute不会显示警告。另外一个好处是,您可以返回受最新操作查询影响的行数。您可以向用户显示此值,将其存储在表中,或者使用它来检查意外结果(例如,当您期望> 0时影响0行)。

<强> Source