ACC2000: Neuer Zeile in verknüpfte SQL Server-Tabelle verschwindet oder wird als doppelt Letzter Datensatz

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 251289 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Moderat: Erfordert grundlegende Kenntnisse in den Bereichen Makros, Programmierung und Interoperabilität.

Dieser Artikel bezieht sich ausschließlich auf eine Microsoft Access-Datenbank (.mdb).

Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Wenn Sie einen neuen Datensatz in eine verknüpfte Microsoft SQL Server-Tabelle hinzufügen und dann zu einem anderen Datensatz wechseln, wird möglicherweise die folgenden Symptome fest:
Wenn Sie drücken Sie TAB, um zum nächsten neuen Datensatz wechseln, nachdem Sie einen beliebigen Teil eines neuen Datensatzes in einer Tabelle eingegeben haben, der Datensatz nur disappears.When eingegebene Geben Sie einen vollständigen neuen Datensatz in einer Tabelle und dann in einem vorhandenen Datensatz zu verschieben, den Eintrag disappears.When eingegebene Sie geben nur einen Teil eines neuen Datensatzes in einer Tabelle und dann aus diesem Datensatz in einem vorhandenen Datensatz, den neuen Datensatz zu verschieben verschwindet und duplicated.When Sie einen beliebigen Teil eines Datensatzes in einem Formular eingeben und lassen Sie den Datensatz der letzte Datensatz in der Tabelle scheint, verschwindet die eingegebenen Informationen.
wichtig : Daten sind nicht wirklich verloren. Versuchen Sie nicht, den Datensatz erneut hinzuzufügen; es existiert. Versuchen Sie nicht, offensichtlichen doppelten Datensatz zu löschen. Löschen hinzugefügt Sie den ursprünglichen Datensatz löschen das dupliziert werden wird, nicht auf der soeben Datensatz.

Ursache

Wenn SQL Server-Tabelle eine Identitätsspalte, verfügt Wenn Sie versuchen, einen Datensatz hinzufügen, sehen Sie stattdessen anscheinend ein Duplikat des vorherigen Datensatz. Der neue Datensatz wird nicht die richtigen Daten angezeigt, bis Sie das Recordset aktualisieren. Dieses Verhalten bezieht sich auf die Art und Weise fragt SQL Server-Datenbank von Microsoft Access erneut ab.

Lösung

Um dieses Problem zu beheben, beziehen Sie das neueste Microsoft Jet 4.0 Service Pack Update. Weitere Informationen finden Sie die folgende KB-Artikelnummer:
239114So Erhalten Sie das neueste Service Pack für die Microsoft Jet 4.0-Datenbank-Engine
Um dieses Problem zu umgehen, verwenden Sie eine der folgenden drei Methoden.

Verwenden ein Access-Projekt

Sie können ein Access-Projekt statt einer Access-Datenbank verwenden. Mithilfe eines Access-Projekts, müssen Sie nicht mehr Tabellen zum Herstellen einer Verbindung mit einer SQL Server-Datenbank verknüpft haben.

Weitere Informationen dazu, Konvertieren Ihrer Datenbank zu einem Access-Projekt finden Sie folgenden Artikel der Microsoft Knowledge Base:
241743ACC2000: White Paper zur "Access 2000 Upsizing-Tools" im Download Center verfügbar
250616ACC2000: Verwendung von DTS-Exportieren von Daten aus einer Microsoft Access-Datenbank mit einer SQL Server-Datenbank

Verwenden von Forms in einer Access-Datenbank

Wenn dieses Verhalten in einem Formular angezeigt wird, verwenden Sie requery automatisch die Daten und das Formular zum neu hinzugefügten Datensatz wechseln Microsoft Visual Basic für Applikationen-Code für die Ereignisse BeforeInsert und AfterInsert. Mit dem folgenden Beispielcode können Sie die Ereignisse an den Datensatz auf dem Formular automatisch aktualisieren hinzufügen.

Hinweis : mit dieser Methode kann Ihnen einen neuen Datensatz zweimal verlassen auftreten. D. h., wenn Sie einen neuen Datensatz hinzufügen, und drücken Sie dann die TAB-TASTE oder eine der Schaltflächen Datensatznavigation anderen neuen Datensatz hinzufügen oder zum vorherigen Datensatz bewegen, haben Sie die Datensatznavigations-Schaltfläche ein zweites Mal drücken, um zu dem entsprechenden Datensatz zu gelangen. Dies betrifft nicht das Formular schließen.
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
				

Verwenden von Tabellen in einer MDB

Wenn dieses Verhalten in einer Tabelle angezeigt wird, können manuell greifen in der Tabelle oder schließen und erneut öffnen, in der Tabelle.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.   Dieses Problem wurde in das neueste Microsoft Jet 4.0 Servicepack behoben.

Weitere Informationen

Schritte zum Reproduzieren des Verhaltens

  1. Öffnen Sie die Beispieldatenbank "Nordwind.mdb".
  2. Exportieren Sie die Orders-Tabelle zu einer vorhandenen SQL Server-Datenbank. Nennen Sie OrdersTest .
  3. Erstellen Sie eine neue Access-Datenbank.
  4. Erstellen Sie in der neuen Datenbank eine neue verknüpfte Tabelle in die Sie in SQL Server exportiert OrdersTest-Tabelle.
  5. Öffnen Sie nach dem zu verknüpfen, die Tabelle.
  6. Bildlauf zum letzten Datensatz.
  7. Geben Sie an der neuen Datensatz Zeile in einem neuen Datensatz.
  8. Nach der Eingabe in den Daten, Drücken der nach um den Cursor außerhalb des neuen Datensatzes zu verschieben.
  9. Sie sehen, der neue Datensatz wird nicht mehr angezeigt, aber der letzte Datensatz wird zweimal angezeigt.
  10. Klicken Sie im Menü Datensätze auf Requery . Sie bemerken das Duplikat nicht mehr vorhanden ist.

Eigenschaften

Artikel-ID: 251289 - Geändert am: Donnerstag, 30. Januar 2014 - Version: 2.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Access 2000 Standard Edition
Keywords: 
kbnosurvey kbarchive kbmt kbpending kbprb KB251289 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 251289
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

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