簡體   English   中英

DoCmd.SetWarnings和CurrentDB.Execute之間有什么區別

[英]What's the difference between DoCmd.SetWarnings and CurrentDB.Execute

在對這個答案的評論中,Remou寫道

CurrentDB.Execute "insert sql here"

比...更好

DoCmd.SetWarnings = 0
DoCmd.RunSQL "insert sql here"

由於Access產生的內置警告。 我試圖了解其中的差異。

如果它們都掩蓋了錯誤,為什么第一個優先於第二個呢? 這里有最好的做法嗎?

它們不會掩蓋錯誤。 DoCmd.SetWarnings掩蓋錯誤並且是系統范圍的,不限於您正在使用的單個應用程序。 沒有相應的DoCmd.SetWarnings True DoCmd.SetWarnings False意味着操作查詢將在PC上的任何Access應用程序中沒有任何提示的情況下運行。

執行會拋出警告,您需要的警告,例如查詢無法執行,但不會發出您可能不需要的警告,例如“您確定要運行此查詢”。

在這個帖子中 ,訪問MVP的Allen Browne表示他沒有使用Set Warnings。

順便說一句,我通常建議使用CurrentDB的實例,因為這將允許您返回記錄計數,以及其他內容:

Set db = CurrentDB
db.Execute sSQL, dbFailOnError

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM