Access
 sql >> база данни >  >> RDS >> Access

Достъп до търсене на съобщение за номер за грешка

Имали ли сте някога номер за грешка в Access, но не и съобщение за грешка, което обяснява какво е това?

AccessError() функцията е бърз начин да получите съобщението за грешка, свързано с номер на грешка в достъпа:

Символът за място на тръбата

Символът на тръбата (| ) е вертикална лента (достъпна чрез [Shift] + [\] {обратна наклонена черта} на английска клавиатура).

Функцията AccessError използва този знак като заместител за специфичен текст в съобщение за грешка.

Например, грешка при достъп 3211 е „...не може да се заключи таблицата „|“ ..."  Символът с вертикална черта в общото съобщение се заменя с действителния низ, който е бил използван в реда код, който е повдигнал съобщението за грешка:

Официална документация

Функцията AccessError всъщност е метод на обекта Access.Application. Ето описание на това какво прави от официалната документация:

Можете да използвате AccessError метод за връщане на описателния низ, свързан с грешка в Microsoft Access или Data Access Objects (DAO).

Струва си да се отбележи, че това е Microsoft Специфичен за достъп функция. С други думи, не бихте могли да го извикате от друго приложение на Office, като Excel или Word.*

(* Това не е технически вярно.  Можете да създадете обект на Access Application чрез COM във всяка VBA среда и след това да можете да извикате метода AccessError от този обект.  Разбира се, това би било полезно само ако искате да проверите Специфични за достъп низове за съобщения за грешка в това друго приложение на Office, което изглежда малко вероятно.)

Случаи на употреба

Честно казано, не мога да си спомня да съм използвал този метод в кода на моето приложение.

Това е функция, която използвам почти изключително от Immediate Window, когато просто искам бърз начин да определя какво представлява номерът за грешка в Access.

Това би било най-полезно, ако попаднете на манипулатор на грешки, който има Select Case Err.Number блок и всички отделни Case изявленията са използвали числа без придружаващи коментари, като този:

    Select Case Err.Number
    Case 2452   
        'Do something
    Case 2455   
        'Do a different thing
    Case 2467   
        'Do something else
    End Select

Въоръжени с метода AccessError, можете да подобрите този код, като добавите коментар с кратко описание на всеки номер на грешка:

    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

Съображения за интеграция на база данни за грешки

Ако използвате база данни за грешки – като FogBugz – която предлага функция за групиране на грешки въз основа на тяхното описание, може да искате да използвате общ съобщение за грешка в темата на доклада за грешка (или каквото поле прави групирането) и заснемете конкретното съобщение за грешка в полето с подробности за събитието за грешка.

Обсъждам този проблем в контекста на моята персонализирана функция за хвърляне на грешки тук:Изхвърляне на грешки във VBA:Проблеми с интеграцията на база данни за грешки.

Референтни статии

Изхвърляне на грешки във VBAВъвеждане на безпроблемна алтернатива на Err.Raise. Вече не се задава Майк Улф
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Масови вмъквания на Salesforce от Microsoft Access

  2. Какво представлява Microsoft Access и за какво го използвате?

  3. Защо архивирането на данни е важно за вашата организация

  4. Текстово или числово поле – прост SQL метод за превключване на типа данни

  5. Какво означава разделяне на база данни на Microsoft Access?