DoCmd.SetWarnings dan CurrentDB.Execute: Demystifying Ralat Pengendalian
Dalam Access, pengaturcara sering menghadapi dilema tentang cara menyekat kotak dialog amaran yang tidak diingini sambil mengekalkan keterlihatan ralat. DoCmd.SetWarnings dan CurrentDB.Execute, dua kaedah yang kelihatan serupa, mengendalikan masalah ini dengan sangat berbeza.
DoCmd.SetWarnings
DoCmd.SetWarnings secara global melumpuhkan semua amaran dan mesej ralat dalam Access. Ini memberi kesan kepada keseluruhan sistem, menjejaskan semua aplikasi dan pangkalan data. Melumpuhkan amaran secara sembarangan boleh menutupi ralat kritikal yang memerlukan campur tangan. Selain itu, terlupa untuk menetapkan semula amaran kepada Benar boleh membawa kepada tingkah laku yang tidak dijangka dengan mudah.
CurrentDB.Execute
Sebaliknya, CurrentDB.Execute melaksanakan secara langsung pernyataan SQL tanpa pengesahan pengguna. Tidak seperti DoCmd.SetWarnings, ia membolehkan amaran untuk menjelaskan sebab pelaksanaan pangkalan data gagal. Ini memberikan maklumat yang diperlukan tanpa menggesa pengguna untuk melakukan tindakan yang mungkin tidak dapat mereka kendalikan.
Amalan Terbaik
Seperti yang dicadangkan oleh MVP Access Allen Browne, secara amnya disyorkan untuk mengelak daripada menggunakan DoCmd.SetWarnings kerana sifatnya yang sembarangan. Sebaliknya, pilih CurrentDB.Execute, yang mengimbangi amaran yang diperlukan dan keupayaan pengendalian ralat.
Kawalan ralat dipertingkatkan
Untuk meningkatkan lagi kawalan ralat, pertimbangkan untuk menggunakan contoh CurrentDB. Ini membolehkan kefungsian tambahan termasuk:
Sintaks yang disyorkan:
<code>Set db = CurrentDB db.Execute sSQL, dbFailOnError</code>
Atas ialah kandungan terperinci DoCmd.SetWarnings vs. CurrentDB.Execute: Mana yang Lebih Baik untuk Pengendalian Ralat dalam Akses?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!