Identificativo articolo: 208704 - Ultima modifica: mercoledì 11 ottobre 2006 - Revisione: 3.2

ACC2000: "Application-defined or object-defined error" Error

Suggerimento di sistemaIl presente articolo fa riferimento a un sistema operativo diverso da quello in uso. Il contenuto dell'articolo che potrebbe non essere relativo al sistema in uso è disabilitato.
Avanzate: Richiede la codifica degli esperti, interoperabilità e competenze multiutente.

In questa pagina

Espandi tutto | Chiudi tutto

Sintomi

Se si utilizzano le funzioni Error() o Error$() per ottenere la descrizione testuale di un messaggio di errore, è analogo il seguente messaggio di errore:

Errore definito dall'applicazione o definito dall'oggetto
Questo messaggio potrebbe essere visualizzato quando si tenta di ottenere la descrizione di un errore intercettato nell'evento di errore di una maschera, come illustrato di seguito:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
   MsgBox Error(DataErr)
   Response = acDataErrContinue
End Sub
				

Cause

Il messaggio di errore da registrare è Microsoft Access specifico. Quando si passa un numero di errore alla funzione Error() che non è un errore specifico di applicazioni di Visual Basic, Visual Basic, Applications Edition non viene chiamato nuovamente nell'applicazione host per richiedere il messaggio di errore.

Risoluzione

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia espressa o implicita. Questo include, ma non è limitato a, le garanzie implicite di commerciabilità o idoneità per uno scopo specifico. Questo articolo si presuppone che conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug di procedure. Tecnici del supporto Microsoft possono spiegare la funzionalità di una particolare procedura, ma in nessun sono caso a modificare questi esempi per fornire funzionalità aggiuntive o creare procedure per soddisfare specifiche esigenze. È possibile utilizzare il metodo AccessError per restituire la stringa descrittiva associata a un errore di accesso come indicato di seguito:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
   MsgBox Application.AccessError(DataErr)
   Response = acDataErrContinue
End Sub
				
Nota : il metodo AccessError restituirà una stringa associata solo errori di accesso ed errori di Visual Basic. Non verrà restituito descrittive stringhe associate a errori di accesso dati.

Informazioni

attenzione : se la procedura in questo esempio, è possibile modificare il database di esempio Northwind.mdb. È possibile che si desidera eseguire il backup del file Northwind.mdb attenersi alla seguente procedura su una copia del database.

Procedura per riprodurre il problema

  1. Aprire il database di esempio Northwind.mdb.
  2. Aprire la tabella Ordini in visualizzazione Struttura.
  3. Impostare la proprietà Required del campo IDImpiegato su Sì e quindi chiudere la tabella.
  4. Scegliere per il seguente messaggio:
    Sono state modificate le regole di integrità dei dati. I dati esistenti potrebbero non essere validi per le nuove regole.
    Questo processo potrebbe richiedere parecchio tempo. Si desidera che i dati da sottoporre a test con nuove regole esistenti?
  5. Aprire la maschera Ordini in visualizzazione struttura e impostare la seguente proprietà di maschera: OnError: [routine evento]
  6. Digitare il seguente codice nel modulo del form:
    Private Sub Form_Error(DataErr As Integer, Response As Integer)
       MsgBox Error$(DataErr)
       MsgBox Application.AccessError(DataErr)
       Response = acDataErrDisplay
    End Sub
    						
  7. Visualizzare la maschera in visualizzazione Maschera e fare clic sul pulsante sulla barra degli strumenti Nuovo Record per passare a un nuovo record di ordini.
  8. Digitare la seguente riga in fatturazione: e premere INVIO:
    hello world!
    Si noti che viene visualizzato il seguente messaggio di tre:
    Errore di oggetto definito o definito dall'applicazione.
    Il testo immesso non è un elemento nell'elenco.
    Il testo immesso non è un elemento nell'elenco.

    Nota : poiché la variabile di risposta è impostata su acDataErrDisplay , l'errore non viene intercettato. Il terzo messaggio sopra riportato è il messaggio di errore effettivo.
  9. Fare clic per selezionare un cliente nel fatturazione: elenco.
  10. Scegliere Salva Record dal menu record . Si noti che viene visualizzato il seguente messaggio di tre:
    Errore definito dall'applicazione o definito dall'oggetto
    <verrà visualizzata una finestra di messaggio senza testo >
    Campo 'Ordini.IDImpiegato' non può contenere un un valore null.
    Nota : la seconda casella di messaggio è vuota perché l'errore generato un errore di accesso dati. Il metodo di r AccessErro non viene restituito messaggi di errore di accesso ai dati.

Riferimenti

Per ulteriori informazioni sul metodo AccessError, in Visual Basic Editor scegliere Guida in linea di Visual Basic dal menu della Guida, digitare "AccessError" nella casella dell'Assistente di Office o nella ricerca libera e quindi scegliere Cerca per visualizzare l'argomento.

Le informazioni in questo articolo si applicano a:
  • Microsoft Access 2000 Standard Edition
Chiavi: 
kbmt kberrmsg kbprb kbprogramming KB208704 KbMtit
Traduzione automatica articoliTraduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 208704  (http://support.microsoft.com/kb/208704/en-us/ )
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.