Office: (Office 2010) Anfügeabfrage = Schlüsselverletzung

Helfe beim Thema Anfügeabfrage = Schlüsselverletzung in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Abend, ich bearbeite derweil kleinere Aufgaben um den Umgang mit Access 2010 zu lernen (für den ECDL Advanced). Dabei bin ich auf eine simpel... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Saiyu, 24. Januar 2015.

  1. Anfügeabfrage = Schlüsselverletzung


    Guten Abend,

    ich bearbeite derweil kleinere Aufgaben um den Umgang mit Access 2010 zu lernen (für den ECDL Advanced).

    Dabei bin ich auf eine simpel wirkende Aufgabe gestoßen, die ich gerne ohne SQL-Sprache (da mein wissen darüber sehr begrenzt ist) lösen würde.

    Die Aufgabenstellung ist Zusammengefasst wie folgt:

    Zieltabelle= Mitarbeiter
    Anfügetabelle= NeueMitarbeiter

    Eine Tabelle "Mitarbeiter" ist vorhanden. Eine weitere "NeueMitarbeiter" Tabelle soll erstellt werden, in der auch 2 Datensätze hinzugefügt werden sollen.

    Die Mitarbeiter-Tabelle enthält eine "Mitarbeiter-ID" mit einem Autowert welche auch als Primärschlüssel gilt, da diese auch bezug auf eine andere Tabelle "Gehalt" nimmt.
    Weitere angaben wie Name, Nachname, PLZ usw sind Text.

    Die Tabelle "NeueMitarbeiter" enthält auch eine Mitarbeiter "ID" als Autowert, Namen usw als Text.

    Nun sollen die 2 Neuen Mitarbeiter via Anfügeabfrage der "Mitarbeiter" Tabelle angefügt werden.

    Der Vorgang ist mir bekannt, nur komme ich nicht an der "Schlüsselverletzung" vorbei. Ich habe bereits diverse versuche gestartet, z.b. der "NeueMitarbeiter" Tabelle keinen Primärschlüssel zu geben, oder das Feld AutoWert weg zu lassen usw, allerdings ohne Erfolg.

    Im Grunde soll also z. B. der Datensatz (ID Nr 1) zum Datensatz (ID Nr 20 o.ä. werden)

    Ich denke der Konflikt besteht weil beide Tabellen den AutoWert (ID) zum Primärschlüssel haben, und somit in beiden Tabellen eine "ID" Nr 1 und 2 vorhanden wäre oder?

    Aber wieso tritt der fehler dann auch ohne Primärschlüsselzuweisung in der anfügetabelle auf?

    Ich habe natürlich gegoogelt usw, allerdings immer nur SQL lösungen gefunden, oder andere Problemlösungen die leider nicht halfen.

    Ich hoffe ich habe keine Offensichtlichen Lösungen übersehen.

    Vielen Dank im Voraus.

    Freundlicher Gruß

    Saiyu

    :)
     
  2. Hallo,
    die Anfügeabfrage darf den Primärschlüssel der Tabelle "Neue Mitarbeiter" nicht anfügen. In der Zieltabelle entstehen 2 neue Datensätze mit neuen Autowerten (automatisch).

    Das Vorhaben halte ich aber ohnehin für den falschen Weg, auch (oder gerade) wenn man lernen will.
    Zum Erfassen neuer Mitarbeiter würde man keine extra Tabelle haben, sondern mit einer Anfügeabfrage die Daten aus einem ungebunden Formular in die Zieltabelle übertragen, Person für Person und nicht 2 auf ein mal.

    Mit Access könnte man das noch einfacher machen und gebundene Formulare verwenden, dann braucht es keine Programmierung, auch keine Anfügeabfrage.

    Übrigens, auch eine Anfügeabfrage ist SQL. Kannst Du über die SQL Sicht einer Abfrage ansehen (und kopieren). Daher wäre es besser gewesen, Du hättest statt der bunten Farben den SQL Text der Abfrage gezeigt.
     
    gpswanderer, 26. Januar 2015
    #2
  3. Danke sehr für diese schnelle Antwort.

    Ich weiß dass im Hintergrund die SQL-Befehle durchlaufen, bzw ersichtlich sind, allerdings möchte ich eben ohne diese auskommen (also ohne Kopieren/Einfügen von Lösungen) da ich bei der Prüfung dann auch ohne auskommen muss. Bzw. ist dies einfach zu weitgehend für die momentane Situation. Ich soll/muss wie auch immer, diese Aufgabe also über die Anfügeabfrage bewältigen, aber ich danke dennoch für diesen Rat!

    Die bunten Farben dienten mehr meiner Übersicht *wink.gif*

    Ich dachte halt (mal davon ab das dies nunmal die Aufgabenstellung ist) dass man so auch umfangreiche Kundendaten Zusammenfügen kann (z. B. Kunden vom Quartal 1 bis 4 zu einer "Jahres-Tabelle" oder ähnliches, egal ob dies nun sinnvoll wäre oder nicht *Smilie.

    Ich weiß dass man z. B. gerade beim eingeben von neuen Mitarbeitern einfach Formulare oder ähnliches verwendet da diese einfach besser zu handhaben sind.

    Ich habe bereits versucht z. B. nur Name, PLZ usw zu verwenden ohne das ID Feld mit einzubeziehen. Leider ergab dies dennoch die Schlüsselverletzung.
    Oder verstehe ich das nun Falsch und die "NeueMitarbeiter"-Tabelle darf ein solches ID Feld nicht besitzen?
    Im Lösungsweg (der eben bei mir nicht funtioniert, weshalb ich mich nun auf diesem wege erkundige) sind eben in beiden Tabellen ID-Felder mit Primärschlüsseln versehen und besitzen beide das AutoWert feld.
     
  4. Anfügeabfrage = Schlüsselverletzung

    Hallo,
    zeige den SQL Text der nicht funktionierenden Abfrage.

    Es ist im Forum üblich für Abfragen den SQL Text zu zeigen. Der erklärt es besten. Ob Du ohne direkt SQL zu verwenden auskommen willst ist davon unberührt.
    Es wird der SQL Text benötigt.
    Damit kannst Du Dir dann Deine Erklärungen komplett sparen.
     
    gpswanderer, 26. Januar 2015
    #4
  5. Okay dessen war ich mir nicht bewusst, dann werde ich diesen morgen nachreichen müssen. Habe die genannte Aufgabe nur in dem Schulungsbereich auf den ich derweil keinen Zugriff habe. Trotzdem danke schön, ich werde dann morgen wie gefordert den SQL-Code posten *Smilie
    Schönen Abend noch.
    Bis morgen
     
  6. Gleiche Daten in einer Tabelle zu halten, ist nicht nur sinnvoll, sondern sogar Standard in einer vernünftigen Datenbank.

    Wer da auf die Idee kommt, pro Quartal oder X eine eigene Tabelle anzulegen, verdient eine dicke 6 von den Praktikern.
     
  7. Ja Stimmt...
    Naja das war ja nur ein (wenn auch schlecht gewähltes) Beispiel.
    Man könnte ja auch sagen man will 2 verschiedene Kunden-Stammdatentabellen zusammenfügen die jeweils mehrere hundert Datensätze besitzen, z. B. nach einer Firmenübername oder sowas eben. Irgendetwas halt wo mehr als nur ein paar Datensätze an eine Tabelle gefügt werden *Smilie
    Da wäre (wenn man eben einmal diese Anfügeabfragen richtig anwenden kann) diese möglichkeit ja ziemlich schnell und auch bei weiter anfallenden Tabellen nützlich. Oder bei neuen Produktserien usw...
    Soweit zumindest zur Theorie. Wie man dies dann letztenendes Praktisch löst ist vielleicht etwas anderes. Kenne mich da ja noch nicht so aus *wink.gif*
     
  8. Anfügeabfrage = Schlüsselverletzung

  9. Hier der geforderte SQL text *Smilie

    INSERT INTO Mitarbeiter ( Nachname, Vorname, Firmeneintritt )
    SELECT NeueMitarbeiter.Nachname, NeueMitarbeiter.Vorname, NeueMitarbeiter.Eintrittsdatum
    FROM NeueMitarbeiter;
     
  10. Hallo,
    die gezeigte Abfrage ist fehlerfrei und kann nicht zu dem genannten Fehler führen.

    Du hast (machst) einen grundsätzlichen Fehler.

    Gibt es Indizes in der Zieltabelle ?
     
    gpswanderer, 26. Januar 2015
    #10
  11. Bei Indizes in der Entwurfsansicht wird bei beiden Tabellen nur der Primärschlüssel angezeigt.

    Das seltsame ist, durch versuchen usw habe ich anhand der Acc-Datei einen versuch erfolgreich durchgeführt (Abfrage-Eigenschaften, keine Dublikate = Ja).
    Aber als ich dann testweise den AutoWert mit einbezogen habe in der Anfügeabfrage, um den Fehler zu reproduzieren, klappte es auch nach dem Ändern (also dem löschen des ID-Feldes) in der Anfügeabfrage nicht mehr...
     
  12. Hallo,
    zeige mal den SQL Text der nicht funktionierenden Abfrage. Und bitte zukünftig immer gleich, nicht erst nach Rückfrage.

    Den Autowert der Tabelle "NeueMitarbeiter" in die Anfügeabfrage aufzunehmen ist falsch. Der darf da nicht rein.

    Lade mal die DB hier hoch, mit der Schlüsselverletzung, damit man sich das mal ansehen kann.
    Aber ich benötige Access2003, also DB bitte in dieser Version (MDB) anlegen. Das geht auch mit den neuen Access Versionen.
     
    gpswanderer, 26. Januar 2015
    #12
  13. Anfügeabfrage = Schlüsselverletzung

    Tatsächlich habe ich den SQL-Text der nicht Funktionierenden Anfügeabfrage bereits gepostet:

    INSERT INTO Mitarbeiter ( Nachname, Vorname, Firmeneintritt )
    SELECT NeueMitarbeiter.Nachname, NeueMitarbeiter.Vorname, NeueMitarbeiter.Eintrittsdatum
    FROM NeueMitarbeiter;


    Ich werde die Dateien wahrscheinlich morgen, wenn ich wieder im Schulungsbereich bin, als 2003er version hochladen damit man sich einen Einblick verschaffen kann.
     
Thema:

Anfügeabfrage = Schlüsselverletzung

Die Seite wird geladen...
  1. Anfügeabfrage = Schlüsselverletzung - Similar Threads - Anfügeabfrage Schlüsselverletzung

  2. Anfügeabfrage Anzahl Datensätze bestimmte Zahl

    in Microsoft Access Hilfe
    Anfügeabfrage Anzahl Datensätze bestimmte Zahl: Hallo an Alle, ich hoffe, ich schaffe es deutlich zu schildern, wo mein Problem liegt. In einem Formular habe ich ein Textfeld (txt_AnzINTMA2), in dem eine Zahl berechnet wird. Ich möchte nun...
  3. Anfügeabfrage- schon vorhandene Datensätze überspringen

    in Microsoft Access Hilfe
    Anfügeabfrage- schon vorhandene Datensätze überspringen: Guten Tag, ich habe eine Anfügeabfrage erstellt, welche die Daten von einer Excel Verknüpfung in Access in eine identische Tabelle der DB importiert. Die Anfügeabfrage soll nun die Datensätze aus...
  4. Anfügeabfrage Gültigkeitsverletzungen

    in Microsoft Access Hilfe
    Anfügeabfrage Gültigkeitsverletzungen: Hallo zusammen, ich habe eine Anfügeabfrage, die etwa 1000 Datensätze mit 30 Feldern anfügen soll, und erhalte anschließend die Meldung, dass X Datensätze nicht angefügt werden können wegen einer...
  5. Anfügeabfrage läuft ins Leere.

    in Microsoft Access Hilfe
    Anfügeabfrage läuft ins Leere.: Moin, folgendes Problem: Ich habe eine Anfüge abfrage die Daten aus 3 Tabellen zusammen bringt. Nun habe ich ein Berechnetes Feld in einer anderen Abfrage gebaut und möchte diesen wert auch über...
  6. Anfügeabfrage Schlüsselverletzung

    in Microsoft Access Hilfe
    Anfügeabfrage Schlüsselverletzung: Hallo, ich habe ein Problem mit einer Anfügeabfrage. Access gibt mir immer die Fehlermeldung "1 Schlüsselverletzung" und kann deswegen nichts anfügen. Tabellen: tbl_MitarbeiterMitarbeiter_id...
  7. Häufige Fehler beim Ausführen einer Anfügeabfrage

    in Microsoft Access Tutorials
    Häufige Fehler beim Ausführen einer Anfügeabfrage: Häufige Fehler beim Ausführen einer Anfügeabfrage Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr......
  8. Hinzufügen von Datensätzen zu einer Tabelle mit einer Anfügeabfrage

    in Microsoft Access Tutorials
    Hinzufügen von Datensätzen zu einer Tabelle mit einer Anfügeabfrage: Hinzufügen von Datensätzen zu einer Tabelle mit einer Anfügeabfrage Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden