Office: (Office 2003) Anfügeabfrage

Helfe beim Thema Anfügeabfrage in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo ..., Trotz lesen der recht ausführlichen Anleitung zur Anfügeabfrage funktioniert es nicht. Nun bitte ich um Hilfe. In der Datenbank habe ich... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von BBSRGM, 13. Juli 2025 um 18:41 Uhr.

  1. BBSRGM Neuer User

    Anfügeabfrage


    Hallo ...,
    Trotz lesen der recht ausführlichen Anleitung zur Anfügeabfrage funktioniert es nicht. Nun bitte ich um Hilfe.

    In der Datenbank habe ich eine Tabelle die heißt "NurAF-TextZahl". Sie hat keine Beziehung zu anderen Tabellen. Das Quellfeld heißt "SingleBoxText3". Der Typ ist Text.
    Die Zieltabelle heißt "SongLied". Das Zielfeld heißt "SongLiedBezeichnung". Dieses Feld hat den Typ Text. Nur dieses Feld hat "Eingabe erforderlich" auf JA. Das Feld Primärschlüssel steht auf Autowert. Beide Felder haben die Einstellung Index "Ja, ohne Duplikate".

    Beim Ausführen der Anfügeabfrage kommt die Meldung "Access hat 0 Felder wegen Typumwandlungsfehlern auf Null eingestellt, und es hat 37 Datensätze wegen Schlüsselverletzungen, 0 Datensätze wegen Sperrverletzungen und 0 Datensätze wegen Gültigkeitsverletzungen nicht an die Tabelle angefügt".
    Die Vorschau zeigte 108 Datensätze an.

    Was mach ich falsch?

    Zu dieser Meldung auf JA geklickt und in die Zieltabelle geschaut. Es worden 71 Datensätze hinzugefügt.
    Es ist ja trotz dieser Meldung alles in Ordnung. Dann sind die 37 Datensätze Duplikate.
    So eine Meldung kann aber schön verwirren.
    Zur Einstellung "Anfügen an" muß ich in meinem Fall aktuelle oder andere Datenbank auswählen?

    Ist es den möglich vor den kopieren eine Duplikatsprüfung zwischen den beiden Tabellen durzuführen? Meinetwegen gleich mit Löschvorgang?
     
  2. Doming
    Doming Erfahrener User
    Hallo,

    wie lautet denn die Abfrage (in SQL-Sicht)?
    Sind denn Duplikate in den Datensätzen? Ist ja noch eine recht überschaubare Menge und bei 37 „Fehlern” müsste man Auffälligkeiten sehen. Oder versuchst Du, den Primärschlüssel der Quelldatensätze auch mit anzufügen?

    Gruß
    Doming
     
  3. andyfau
    andyfau Erfahrener User
    Nicht einfügbare Datensätze werden normalerweise in der Tabelle "Einfügefehler" abgelegt. Versuche doch einfach mal einen Datensatz daraus mit Copy/Paste in die neue Tabelle einzufügen. Wird nicht gehen, aber Access meckert dann etwas genauer und man kommt dem Feld, welches den Fehler verursacht, näher.
     
  4. BBSRGM Neuer User

    Anfügeabfrage

    Hallo Doming,

    Die 37 nicht kopierten Datensätze sind die schon vorhandenen in der Zieltabelle. Dort ist der Index JA ohne Duplikate.

    Mein Stand ist jetzt, daß ich eine Duplikatsprüfung durchführe. Das Ergebnis müßte gelöscht werden. Da weiß ich nicht wie baue ich das in die SQL ein.
    "
    Code:
    SELECT First([NurAF-TextZahl].SingleBoxText3) AS [SingleBoxText3 Feld], Count(SongLied.SongLiedBezeichnung) AS AnzahlvonSongLiedBezeichnung
    FROM [NurAF-TextZahl], SongLied
    GROUP BY [NurAF-TextZahl].SingleBoxText3
    HAVING (((Count(SongLied.SongLiedBezeichnung))>1));
    
    Hier in die SQL müßte irgendwo irgendwas mit DELETE FROM ... eingebaut werden. Dafür brache ich die Hilfe.

    Danach würde ich dann die Anfügeabfrage durchführen.
    Hier die SQL für die Anfügeabfrage.
    Code:
    INSERT INTO SongLied ( SongLiedBezeichnung ) IN 'D:\Access\RM-Musik-DB_Kopie_2025-07-13.mdb'
    SELECT [NurAF-TextZahl].SingleBoxText3
    FROM [NurAF-TextZahl]
    WHERE ((([NurAF-TextZahl].SingleBoxText3) Is Not Null));
    
    Wenn möglich alle drei Schritte (Duplikatsuche, Lösche und Kopieren) in einer Abfrage.
     
  5. andyfau
    andyfau Erfahrener User
    Wenn die Datensätze schon da sind. musst Du keine Anfügeabfrage, sondern eine Aktualisierungsabfrage durchführen.
     
  6. BBSRGM Neuer User
    In dem neuen Versuch sind 100 Datensätze in der Tabelle A. Davon können eine unbestimmte Zahl von Datensätzen in der Tabelle B schon vorhanden sein. Nur die Daten die in der Tabelle B nicht enthalten sind, sollen kopiert werden.

    Mit Aktualisierungsabfrage habe ich probiert.
    Code:
    UPDATE [NurAF-TextZahl] SET [NurAF-TextZahl].SingleBoxText3 = [SongLied].[SongLiedBezeichnung]
    WHERE ((([NurAF-TextZahl].SingleBoxText3) Is Not Null));
    
    Beim ausführen wird nach einem Parameter von Tabelle B gefragt. Vielleicht ist die SQL nicht richtig.
    In meinem Buch wird es beschrieben, wenn man die Preis um 10% erhöhen will. Ich verstehe es so, vorhandene Daten werden mit neuen Wert überschrieben.
    Bei mir sollen nicht vorhandene Daten hinzugefügt werden.

    Dies habe ich in Google gelesen.
     
  7. andyfau
    andyfau Erfahrener User
    Irgendwie ist mir nicht ganz klar, was Du tun möchtest.

    Komplett neue Datensätze hinzufügen --> Anfügeabfrage
    Bestimmte Felder in vorhandenen Sätzen ändern ----> Aktualisierungsabfrage
    Datensätze löschen ---> Löschabfrage
    Mehrere Abfragen hintereinander ----> VBA oder Makro
    Alles in einem Abwasch ----> VBA-Routine
     
  8. BBSRGM Neuer User

    Anfügeabfrage

    Ja, aber erst muß eine Duplikatprüfung durchgeführt werden und die gefundenen Duplikate aus Tabelle A (Quelle) entfernt werden.
     
  9. andyfau
    andyfau Erfahrener User
    Warum Duplikatsprüfung? Ein Index mit Eigenschaft "ohne Duplikate" verhindert doch von vorn herein einen doppelten Eintrag. Bei der ganzen Aktion ist ein Primärindex Autowert nur hinderlich. Aber das schrieb Doming ja auch schon.
    Am besten lädtst Du eine BeispielDB mit einigen Datensätzen hier hoch und zeigst wie das Ergebnis aussehen soll.
     
  10. BBSRGM Neuer User
    Im Grund ist das richtig was Du schreibst.
    Der Primärindex Autowert wird durch Einfügefehler unterbrochen. Das will ich verhindern. Es soll keine Unterbrechung geben.
    Aus dem Grund will ich Duplikate in der Quelle entfernen.
     
  11. Doming
    Doming Erfahrener User
    Hallo,

    willst Du den Primärindex aus optischen Gründen lückenlos haben? Vergiss es, ein kleiner Fehler und Deine hübsche Reihe ist kaputt, weil ein Datensatz defekt ist oder zwischendurch nicht gespeichert wurde.
    Lass den PK einfach mitlaufen und wenn Du eine fortlaufende Zahl als Wiedererkennungsmerkmal brauchst, lege Dir dafür ein neues Feld an. Der Aufwand, ja keine Unterbrechung in einem Autowert-Feld zu haben, ist einfach zu groß.

    Gruß
    Doming
     
    1 Person gefällt das.
  12. BBSRGM Neuer User
    Es ist nicht nur optisch eine schöne Reihe. Bei der Fehlerfindung hat es mir schon sehr geholfen. Es gibt eine Tabelle mit über 71000 Datensätzen , die ich nur einmal reparieren mußte. Es ist mir gelungen den Autowert bis jetzt unterbrechungsfrei zu halten. Es gibt auch Tabellen mit Unterbrechung des Autowerts.
    Da die Zeilenzählung und der Autowert identisch sind, ist das Auffinden des richtigen Datensatzes sehr einfach. Es gibt drei oder vier Formulare wo die ID mit Schreibschutz angezeigt wird. Das beide hat mir bei der Fehlersuche sehr geholfen.

    Nun zur Duplikatsuche. Beim Ergebnis wird eine Spalte "Anzahl von ..." gezeigt. Das Ergebnis der Duplikatsuche 101 Datensätze hat in dieser Spalte steht einmal die Zahl 5157204 und 100 mal die Zahl 66118.
    Was haben die Zahlen zu bedeuten und woher kommen die?
    Durch die Gruppierung hat das Ergebnis der Duplikatsuche einen Schreibschutz.
    Wie kann das Ergebnis der Duplikatsuche gelöscht werden oder zum löschen vorbereitet werden?
     
  13. Doming
    Doming Erfahrener User

    Anfügeabfrage

    Hm meine Glaskugel gibt aktuell nicht viel her. Kannst ja mal die Ursprungstabelle nach diesen Zahlen filtern, dann wird er Dir die betreffenden Datensätze anzeigen und Du kannst erkennen, was Deine Abfrage da von Dir will. Ohne Beispiel-DB kann ich es zumindest nicht.
     
  14. BBSRGM Neuer User
    Die Datenbank habe ich von 49796 KB auf 19460 KB abgespeckt. Neue DB 17420 KB. Es gibt jetzt noch 3 Tabellen und 5 Abfragen.
    Beim Hochladen wird mir mitgeteilt die Datei ist zu groß. Wie groß dar sie den Sein?
    Hier der Link zu herunterladen. Dropbox

    Die Zahl 66118 ist die Menge der Datensätze in der Zieltabelle. Jetzt taucht noch 4 mal die Zahl 132236 auf.
    Das Ergebnis der Duplikatsuche kann irgendwie nicht stimmen. Von 254 Datensätzen in der Quelltabelle werden 250 Datensätze als Duplikate gezeigt. Zwei Datensätze hätten nicht angezeigt werden dürfen. In der Schreibweise existieren sie nicht in der Zieltabelle.
     
Thema:

Anfügeabfrage

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

  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 per VBA

    in Microsoft Access Hilfe
    Anfügeabfrage per VBA: Hallo, ich habe eine Anfügeabfrage, bei der ich mit Ausführen per VBA folgende Fehlermeldung erhalte: 1 Parameter wurde erwartet, es wurden aber zu wenig Parameter übergeben. Folgender Code...
  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