Artikel-ID: 170779 - Geändert am: Samstag, 20. Januar 2007 - Version: 3.1

ACC: Inkonsistente Verhalten mit mehreren-Feld-Primärschlüssel

Anfänger: Erfordert Kenntnisse der Benutzeroberfläche auf Einzelplatzrechnern.

Auf dieser Seite

Alles erweitern | Alles schließen

Problembeschreibung

In Microsoft Access, Version 7.0 oder höher, Sie sehen inkonsistentes Verhalten, wenn Sie eine Beziehung definieren, die referentielle Integrität erzwingt, und die Tabelle "1-Seite" enthält einen mehrere Felder-Primärschlüssel. Sie können eine Beziehung erstellen, obwohl ein Datensatz in der Tabelle "n-Seite" einen Nullwert in einer der Fremdschlüsselfelder enthält. Jedoch nachdem die Beziehung definiert wurde, wird die folgende Fehlermeldung Wenn Sie einen anderen Datensatz in der Tabelle "n-Seite", ändern so dass Sie auch einen Nullwert in einer der Fremdschlüsselfelder enthält:
   You can't add or change a record because a related record is required
   in table <table>.
				

In Microsoft Access 7.0 Meldung Sie die:
   Can't add or change record. Referential integrity rules require a
   related record in <table.>
				

Status

Microsoft hat dies ein Problem bei den am Anfang dieses Artikels aufgeführten Microsoft Access-Versionen bestätigt. Dieses Problem tritt nicht mehr in Microsoft Jet-Datenbankmoduls 3.51, ist verfügbar im Microsoft Download Center.

Informationen dazu, wie Sie Microsoft Jet Datenbank-Engine 3.51 erhalten finden Sie unter den folgenden Artikel der Microsoft Knowledge Base:

172733  (http://support.microsoft.com/kb/172733/EN-US/ ) ACC97: Neuere Version der Microsoft Jet 3.5 für Download

Weitere Informationen

Schritte zum Reproduzieren des Verhaltens


  1. Starten Sie Microsoft Access und erstellen Sie eine Datenbank namens Db1.mdb.
  2. Erstellen Sie die folgende Tabelle in der Entwurfsansicht:
           Table: Table1
           ------------------
           Field Name: Field1
              Data Type: Text
           Field Name: Field2
              Data Type: Text
    						
  3. Klicken Sie im Menü <UITerm>Bearbeiten</UITerm> auf <UITerm>Alles markieren</UITerm>.
  4. Klicken Sie im Menü Bearbeiten auf Primärschlüssel den zusammengesetzten Primärschlüssel zu erstellen.
  5. Speichern Sie die Tabelle unter dem Namen "Table1".
  6. Klicken Sie im Menü Ansicht auf Datenblatt.
  7. Geben Sie die folgenden Datensätze:
           Field1     Field2
           ------     ------
           a          a
           b          b
    						

    Schließen Sie die Tabelle.
  8. Erstellen Sie die folgende Tabelle in der Entwurfsansicht:
           Table: Table2
           ------------------
           Field Name: Field1
              Data Type: Text
           Field Name: Field2
              Data Type: Text
           Field Name: Field3
              Data Type: Text
    						
  9. Speichern Sie die Tabelle als Tabelle2 ohne jede Primärschlüssel definieren.
  10. Klicken Sie im Menü Ansicht auf Datenblatt.
  11. Geben Sie die folgenden Datensätze:
           Field1     Field2     Field3
           ------     ------     ------
           a          a          x
           b                     y
    						

    Geben Sie alle Daten in Field2 des zweiten Datensatzes.
  12. Schließen Sie die Tabelle.
  13. Klicken Sie auf im Menü Extras auf Beziehungen. Das Fenster Beziehungen der Tabellen Tabelle1 und Tabelle2 hinzu, und klicken Sie dann auf Schließen.
  14. Wählen Sie das Feld1-Feld in der Tabelle "Tabelle1" und ziehen, um die Feld1 Feld in Tabelle "Tabelle2".
  15. Klicken Sie in das Dialogfeld Beziehungen unter der Feld1-Feld in der ersten Spalte der zweiten Zeile im Raster Table-Abfrage; Wählen Sie aus der Liste Field2. Klicken Sie dann in der zweiten Spalte der zweiten Zeile auf, und wählen Sie Field2.
  16. Klicken Sie auf das Kontrollkästchen Mit referentieller Integrität, und klicken Sie dann auf erstellen. Beachten Sie, dass Microsoft Access zum Erstellen der Beziehung zulässt, obwohl ein Datensatz in Tabelle "Tabelle2" einen Nullwert enthält Wert in einem der Fremdschlüsselfelder.
  17. Schließen Sie das Fenster Beziehungen und speichern Sie die Änderungen.
  18. Öffnen Sie die Tabelle "Tabelle2" in der Datenblattansicht. Versuchen Sie, die Daten im Feld Field2 des ersten Datensatzes zu löschen. Beachten Sie, dass Sie eine der im Abschnitt "Problembeschreibung" beschriebenen Fehler angezeigt.

Informationsquellen

Weitere Informationen zur referenziellen Integrität Fragen Sie den Microsoft Access 97 Office-Assistenten, oder Durchsuchen Sie die Hilfe-Index für die "referenzielle Integrität" und wählen Sie "Was ist referenzielle Integrität?"

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
Keywords: 
kbmt kbbug KB170779 KbMtde
Maschinell übersetzter ArtikelMaschinell ü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: 170779  (http://support.microsoft.com/kb/170779/en-us/ )
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.
Retired KB ArticleDisclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.
 

SPRACHE AUSWÄHLEN