Pernahkah Anda memiliki nomor kesalahan Access, tetapi tidak ada pesan kesalahan yang menjelaskan apa itu?
AccessError()
fungsi adalah cara cepat untuk mendapatkan pesan kesalahan yang terkait dengan nomor kesalahan Akses:
Karakter Placeholder Pipa
Karakter pipa (|
) adalah bilah vertikal (tersedia melalui [Shift] + [\] {backslash} pada keyboard bahasa Inggris).
Fungsi AccessError menggunakan karakter ini sebagai placeholder untuk teks khusus instance dalam pesan kesalahan.
Misalnya, Access Error 3211 adalah "...tidak dapat mengunci tabel '|' ..." Karakter pipa dalam pesan umum diganti dengan string sebenarnya yang digunakan dalam baris kode yang memunculkan pesan kesalahan:
Dokumentasi Resmi
Fungsi AccessError sebenarnya adalah metode objek Access.Application. Berikut deskripsi fungsinya dari dokumentasi resmi:
Anda dapat menggunakan AccessError metode untuk mengembalikan string deskriptif yang terkait dengan kesalahan Microsoft Access atau Data Access Objects (DAO).
Perlu dicatat bahwa ini adalah Microsoft Khusus akses fungsi. Dengan kata lain, Anda tidak akan dapat memanggilnya dari aplikasi Office lain, seperti Excel atau Word.*
(* Secara teknis ini tidak benar. Anda dapat membuat objek Access Application melalui COM di lingkungan VBA mana pun dan kemudian dapat memanggil metode AccessError dari objek tersebut. Tentu saja, itu hanya akan berguna jika Anda ingin memeriksa String pesan kesalahan khusus akses di aplikasi Office lain tersebut, yang tampaknya tidak mungkin.)
Use Cases
Sejujurnya, saya tidak pernah ingat menggunakan metode ini di dalam kode aplikasi saya.
Ini adalah fitur yang saya gunakan hampir secara eksklusif dari Jendela Segera ketika saya hanya ingin cara cepat untuk menentukan apa yang diwakili oleh nomor kesalahan Access.
Ini akan sangat berguna jika Anda menemukan penangan kesalahan yang memiliki Select Case Err.Number
blok dan semua Case
individual individu pernyataan menggunakan angka tanpa disertai komentar, seperti ini:
Select Case Err.Number
Case 2452
'Do something
Case 2455
'Do a different thing
Case 2467
'Do something else
End Select
Berbekal metode AccessError, Anda dapat meningkatkan kode ini dengan menambahkan komentar dengan deskripsi singkat dari setiap nomor kesalahan:
Select Case Err.Number
Case 2452 'invalid reference to the Parent property
'Do something
Case 2455 'invalid reference to the property
'Do a different thing
Case 2467 'expr refers to object that is closed or doesn't exist
'Do something else
End Select
Pertimbangan Integrasi Basis Data Bug
Jika Anda menggunakan basis data bug – seperti FogBugz – yang menawarkan fitur untuk mengelompokkan kesalahan berdasarkan deskripsinya, Anda mungkin ingin menggunakan generik pesan kesalahan dalam subjek laporan bug (atau bidang apa pun yang melakukan pengelompokan) dan tangkap spesifik pesan kesalahan di bidang detail peristiwa bug.
Saya membahas masalah ini dalam konteks fungsi pelemparan kesalahan khusus saya di sini:Melempar Kesalahan dalam VBA:Masalah Integrasi Basis Data Bug.