Identificativo articolo: 140309 - Ultima modifica: martedì 9 dicembre 2003 - Revisione: 2.0

BUG: Errore di aggiornamento di Recordset diverso tra 16-bit e a 32 bit

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.

In questa pagina

Espandi tutto | Chiudi tutto

Sintomi

Quando eseguito metodo Update su un recordset, il messaggio di errore visualizzato per 16-bit Visual Basic e 32-bit Visual Basic sono assolutamente diversi. Tuttavia, la causa dell'errore è lo stesso. È non utilizzare il metodo AddNew o Edit prima di tentare per salvare le modifiche apportate a un record.

Errore di 16 bit

Errore di run-time '3426':
L'azione è stata annullata da un oggetto associato.

Errore di 32 bit

Errore di run-time '3020':
Aggiornamento o CancelUpdate senza AddNew o Edit.

Cause

Il messaggio di errore a 16 bit è effettivamente un messaggio di errore 2.5 per Jet versione.

Workaround

Per aggirare questo bug, utilizzare il metodo di modifica prima di poter salvare le modifiche a un recordset, come illustrato di seguito il metodo Update:
   Data1.RecordSet.Edit
   Data1.RecordSet.Update
				

Status

Microsoft ha confermato che si tratta un problema nella versione di Visual Basic 4.0 a 16 bit. Si è sta occupando del problema e pubblicherà nuove informazioni qui della Microsoft Knowledge Base riportato di seguito appena sarà disponibile.

Informazioni

Procedura per riprodurre l'errore in Visual Basic 4.0 16-bit

  1. Avviare 16-bit Visual Basic 4.0 o se è già in esecuzione, fare clic su Nuovo progetto dal menu file.
  2. Inserire un controllo dati del modulo di Form1.
  3. Impostare proprietà di NomeDatabase del controllo dati biblio.mdb.
  4. Impostare proprietà di origine record del controllo dati Authors.
  5. Aggiungere un controllo TextBox al form Form1. Prima di impostare il controllo TextBox proprietà DataSource del controllo dati1 e impostare DataField proprietà per authors.
  6. Aggiungere un pulsante di comando al modulo Form1.
  7. Copiare nell'esempio di codice riportato di seguito nella finestra del codice di Form1:
           Private Sub Command1_Click()
              'To prevent the bug, uncomment the next line
              'Data1.RecordSet.Edit
              Data1.RecordSet.Update
           End Sub
    						
  8. Premere il tasto F5 o scegliere Avvia dal menu Esegui per avviare il programma.
  9. Immettere del testo nella casella di testo.
  10. Fare clic sul pulsante comando. Nella finestra di dialogo Microsoft Visual Basic viene visualizzato il seguente messaggio di errore:
    Errore di run-time '3426':
    L'azione è stata annullata da un oggetto associato.
    Fare clic sul pulsante Fine per chiudere la finestra di dialogo e terminare il programma.
  11. Salvare il progetto. Per ricreare l'errore a 32 bit è possibile utilizzare il progetto.

Procedura per riprodurre l'errore in Visual Basic 4.0, 32-bit

  1. Avviare 32-bit Visual Basic 4.0 oppure se è già in esecuzione, fare clic su Apri progetto dal menu file.
  2. Aprire il progetto appena salvato nel passaggio 12 precedente.
  3. Premere il tasto F5 o scegliere Avvia dal menu Esegui per avviare il programma.
  4. Immettere del testo nella casella di testo.
  5. Fare clic sul pulsante comando. Nella finestra di dialogo Microsoft Visual Basic viene visualizzato il seguente messaggio di errore:
    Errore di run-time '3020':
    Aggiornamento o CancelUpdate senza AddNew o Edit.
    Fare clic sul pulsante Fine per chiudere la finestra di dialogo e terminare il programma.

Riferimenti

Per ulteriori informazioni sui messaggi di errore Visual Basic 4.0, vedere il seguente articolo della Microsoft Knowledge Base riportato di seguito:
136250  (http://support.microsoft.com/kb/136250/EN-US/ ) LONG: Elenco di errore intercettabile per Visual Basic 4.0

Le informazioni in questo articolo si applicano a:
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 a 16 bit Enterprise Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
Chiavi: 
kbmt kbbug kbdatabase KB140309 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: 140309  (http://support.microsoft.com/kb/140309/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.