sql >> Database teknologi >  >> RDS >> Access

Få adgang til fejlnummermeddelelsesopslag

Har du nogensinde haft et Access-fejlnummer, men ikke fejlmeddelelsen, der forklarer, hvad det er?

AccessError() funktion er en hurtig måde at få fejlmeddelelsen forbundet med et Access-fejlnummer:

The Pipe Placeholder Character

Rørtegnet (| ) er en lodret streg (tilgængelig via [Shift] + [\] {backslash} på et engelsk tastatur).

AccessError-funktionen bruger dette tegn som en pladsholder for instansspecifik tekst i en fejlmeddelelse.

For eksempel er Access Error 3211 "... kunne ikke låse tabellen '|' ..."  Røretegnet i den generiske meddelelse erstattes med den faktiske streng, der blev brugt i den kodelinje, der viste fejlmeddelelsen:

Officiel dokumentation

AccessError-funktionen er faktisk en metode til Access.Application-objektet. Her er en beskrivelse af, hvad den gør fra den officielle dokumentation:

Du kan bruge AccessError metode til at returnere den beskrivende streng forbundet med en Microsoft Access- eller Data Access Objects-fejl (DAO).

Det er værd at bemærke, at dette er en Microsoft Adgangsspecifik fungere. Med andre ord ville du ikke være i stand til at kalde det fra et andet Office-program, såsom Excel eller Word.*

(* Dette er ikke teknisk sandt.  Du kan oprette et Access Application-objekt via COM i et hvilket som helst VBA-miljø og derefter være i stand til at kalde AccessError-metoden fra det objekt.  Det ville selvfølgelig kun være nyttigt, hvis du vil kontrollere Adgangsspecifikke fejlmeddelelsesstrenge i det andet Office-program, hvilket virker usandsynligt.)

Brugssager

Helt ærligt, jeg kan aldrig huske at have brugt denne metode inde i min applikationskode.

Dette er en funktion, som jeg næsten udelukkende bruger fra det øjeblikkelige vindue, når jeg bare vil have en hurtig måde at bestemme, hvad et Access-fejlnummer repræsenterer.

Dette ville være mest nyttigt, hvis du stødte på en fejlbehandler, der havde en Select Case Err.Number blok og hele den individuelle Case udsagn brugte tal uden ledsagende kommentarer, som dette:

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

Bevæbnet med AccessError-metoden kan du forbedre denne kode ved at tilføje en kommentar med en kort beskrivelse af hvert fejlnummer:

    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

Overvejelser til integration af fejldatabase

Hvis du bruger en fejldatabase – som FogBugz – der tilbyder en funktion til at gruppere fejl baseret på deres beskrivelse, vil du måske bruge den generiske fejlmeddelelse i emnet for fejlrapporten (eller hvilket felt grupperingen nu gør) og fange den specifikke fejlmeddelelse i fejlbegivenhedsdetaljefeltet.

Jeg diskuterer dette problem i forbindelse med min brugerdefinerede fejludsendelsesfunktion her:Throwing Errors in VBA:Bug Database Integration Issues.

Referencede artikler

Kaster fejl i VBAIntroduktion af et friktionsfrit alternativ til Err.Raise. Ikke længere indstilletMike Wolfe
  1. Hvordan bruger man et ALIAS i en PostgreSQL ORDER BY-klausul?

  2. Sådan kører du fjernjob fra IRI Workbench

  3. Sådan oprettes forbindelse til flere SQL-servere med ét klik (registrerede servere-gruppe) - SQL Server / TSQL-vejledning del 5

  4. Brug FILE_NAME() til at returnere det logiske filnavn for et givet fil-id i SQL Server