ACC2000: La nuova riga nella tabella del server SQL collegata scompare o viene visualizzato come un duplicato dell'ultimo record

Traduzione articoli Traduzione articoli
Identificativo articolo: 251289 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo Ŕ stato archiviato. L?articolo, quindi, viene offerto ?cosý come Ŕ? e non verrÓ pi¨ aggiornato.
Moderato: Impone la macro di base, codifica e le competenze di interoperabilitÓ.

Il contenuto di questo articolo Ŕ applicabile solo ai database Microsoft Access (mdb).

Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Quando si aggiunge un nuovo record a una tabella di Microsoft SQL Server collegata e quindi passare a un record diverso, si noterÓ uno dei seguenti sintomi:
Quando si preme il tasto TAB per passare al nuovo record successivo dopo aver immesso qualsiasi parte di un nuovo record in una tabella, il record che appena digitato disappears.When digitare un nuovo record completo in una tabella e di spostare un record esistente, il record che Ŕ stato digitato disappears.When viene digitare solo una parte di un nuovo record in una tabella e quindi spostato disattivare tale record a un record esistente, il nuovo record scompare, e l'ultimo record nella tabella sembra duplicated.When si digita qualsiasi parte di un record in un modulo e quindi esce dal record, le informazioni digitate scompaiono.
importante : dati non effettivamente andranno perduti. Non tentare di aggiungere nuovamente il record esiste. Non tentare di eliminare il record duplicato evidente. Eliminandolo, che eliminare il record originale, che viene visualizzato per essere duplicato, non il record che appena aggiunto.

Cause

Se la tabella di SQL Server include una colonna di identitÓ, quando si tenta di aggiungere un record, verrÓ invece visualizzato quello che sembra essere un duplicato del record precedente. Il nuovo record non vengono visualizzati i dati corretti, fino a quando si aggiorna il recordset. Questo problema riguarda il modo in che Microsoft Access riesegue la query al database SQL Server.

Risoluzione

Per risolvere questo problema, Ŕ necessario ottenere l'aggiornamento Microsoft Jet 4.0 service pack pi¨ recente. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
239114Procedura: Ottenere il Service Pack pi¨ recente per il motore di Database Microsoft Jet 4.0
Per aggirare il problema, utilizzare una dei seguenti tre metodi.

Utilizzo di un progetto di Access

╚ possibile utilizzare un progetto di Access invece di un database di Access. Utilizzando un progetto di Access, non Ŕ necessario sono collegate tabelle di connettersi a un database di SQL Server.

Per ulteriori informazioni sulla conversione di database di Access in un progetto di Access, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
241743ACC2000: "Access 2000 Upsizing Tools" white paper disponibile nell'area Download Microsoft
250616ACC2000: Come utilizzare DTS per esportare dati da un Database Microsoft Access in un database di SQL Server

Utilizzo di form in un database di Access

Se viene visualizzato questo comportamento in un modulo, Ŕ possibile utilizzare Microsoft Visual Basic codice VBA per gli eventi BeforeInsert e AfterInsert requery automaticamente i dati e spostare il modulo al record appena aggiunto. Con il codice di esempio riportato di seguito, Ŕ possibile aggiungere agli eventi per aggiornare automaticamente il record della maschera.

Nota : con questo metodo Ŕ possibile notare Ŕ necessario spostare due volte disattivare un nuovo record. Ovvero, quando si aggiunge un nuovo record e quindi premere il tasto TAB o uno dei pulsanti di spostamento tra record per aggiungere un altro record nuovo o spostare il record precedente, Ŕ necessario premere il pulsante di spostamento tra record una seconda volta per ottenere il record appropriato. Questo non influisce sulla chiusura della maschera.
Option Compare Database
Option Explicit

Dim mfRequery As Boolean

Private Sub Form_AfterInsert()

    If mfRequery = True Then
        ' If the variable indicates a Requery
        ' is needed, Requery the form.
        Me.Requery
        ' Move back to the record that was just added
        DoCmd.GoToRecord acDataForm, Me.Name, acLast
        mfRequery = False
    End If

End Sub

Private Sub Form_BeforeInsert(Cancel As Integer)

    If Me.NewRecord = True Then
        ' If this is a new record, set a variable
        ' to indicate the need to Requery.
        mfRequery = True
    End If
    
End Sub
				

Utilizzo delle tabelle in un MDB

Se viene visualizzato questo comportamento in una tabella, Ŕ possibile manualmente nella tabella che si avvalgono o chiudere e riaprire la tabella.

Status

Microsoft ha confermato che questo problema riguarda i prodotti Microsoft elencati all'inizio di questo articolo. á Questo problema Ŕ stato corretto nel service pack pi¨ recente per Microsoft Jet 4.0.

Informazioni

Procedura per riprodurre il problema

  1. Aprire il database di esempio Northwind.mdb.
  2. Esportare la tabella Ordini in un database esistente di SQL Server. Nome OrdersTest .
  3. Creare un nuovo database di Access.
  4. Nel nuovo database, Ŕ necessario creare una nuova tabella collegata alla tabella OrdersTest esportato a SQL Server.
  5. Dopo il collegamento, aprire la tabella.
  6. Scorrere verso il basso all'ultimo record.
  7. Nella riga di nuova record, digitare un nuovo record.
  8. Dopo aver digitato tutti i dati, premere il tasto di freccia per spostare il cursore all'esterno del nuovo record.
  9. ╚ possibile visualizzare il nuovo record non Ŕ visualizzato, tuttavia, all'ultimo record viene visualizzato due volte.
  10. Scegliere dal menu record , Requery . ╚ possibile notare che il duplicato non Ŕ pi¨ disponibile.

ProprietÓ

Identificativo articolo: 251289 - Ultima modifica: domenica 2 febbraio 2014 - Revisione: 2.1
Le informazioni in questo articolo si applicano a:
  • Microsoft Access 2000 Standard Edition
Chiavi:á
kbnosurvey kbarchive kbmt kbpending kbprb KB251289 KbMtit
Traduzione 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: 251289
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.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com