在MS-访问我一个消息框出现MS-访问 - 如何
查询的执行过程中运行,运行多个查询一个宏,在警告消息框自动选择是“你是即将运行更新..........你确定要运行这个查询吗?“
我该如何自动选择所有这些情况,以便在没有人为干预的情况下运行宏。
在MS-访问我一个消息框出现MS-访问 - 如何
查询的执行过程中运行,运行多个查询一个宏,在警告消息框自动选择是“你是即将运行更新..........你确定要运行这个查询吗?“
我该如何自动选择所有这些情况,以便在没有人为干预的情况下运行宏。
您可以关闭暂时的警告是这样的:
DoCmd.SetWarnings = False
DoCmd.RunSQL ...
DoCmd.SetWarnings = True
它通常最好使用在这样的情况下执行,以捕获错误:
Dim db As Database, qdf As QueryDef, strSQL As String
Set db = CurrentDb
Set qdf = db.QueryDefs("Query17")
qdf.Execute dbFailOnError
Debug.Print qdf.RecordsAffected
或者
strSQL="UPDATE SomeTable SET SomeField=10"
db.Execute strSQL, dbFailOnError
Debug.Print db.RecordsAffected
使用dbFailOnError和错误陷阱捕获错误或多或少是必需的,并且有一个数字其他有用的方面Execute Statement
除非您需要recordsaffected值您不需要定义db或qdf。 – 2009-12-09 17:51:25
为避免每次执行任意SQL时必须编写@Remou代码,您可以使用my SQLRun function, which is designed as a dropin replacement for DoCmd.RunSQL并避免出现所有问题。
Tony提供哪些代码? – Fionnuala 2009-12-10 10:21:53
@Remou:你是对的 - 它看起来就是我所指的代码。发布更正。 – 2009-12-18 01:50:12
这是不好的建议,因为1)您还需要添加docmd.setwarnings = true来处理错误; 2)运行execute会给你更好的错误。 – 2009-12-09 17:50:34