Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Löschabfrage

Begonnen von Lara, März 31, 2011, 00:30:41

⏪ vorheriges - nächstes ⏩

Lara

Stopp.
Ausführen bedeutet ja *rotes Ausrufezeichen*   ;D

Mir wird angezeigt, wieviel Datensätze angefügt werden sollen (591.765 Stck)
Die Anzahl ist scheinbar aber nicht die richtige.
Differenz zur Originaldatei (596.912 Stck) ist in etwa das dreifache der Duplikate (5.147 Stck)


Lara

#16
Nein, es hat nichts mit den Duplikaten zu tun. :D

Bei Bestätigung von "Ja" kam Meldung, dass MS Access wegen Gültigkeitsverletzung 36.670 Datensätze nicht anfügen kann.
Ich gehe jetzt die Registry ändern ....  >:(


edit: .... was übrigens nichts gebracht hat

Lara

Das ganze Prozedere nochmals gemacht, indem ich mir von der Sicherungs-DB die vollständige Originaltabelle rüberkopiert habe. Kopie mit ID angelegt, diesmal 'mit Duplikate' gelassen.

Anfügeabfrage ausgeführt, jawohl!! 596.912 Datensätze werden übertragen.
Schade, danach kam Fehlermeldung: 41.815 DS wegen Gültigkeitsverletzungen nicht an Tabelle angefügt.

Schönen Abend noch, Lara

database

Hallo,

ZitatKopie mit ID angelegt, diesmal 'mit Duplikate' gelassen

KEINE DUPLIKATE!!!!!

Zitatwegen Gültigkeitsverletzungen nicht an Tabelle angefügt
also gibt es in der Tabelle Daten, die in die Kopie nicht eingefügt werden können weil ...
Nachdem wir hier diese Daten aber nicht sehen, wirst du selbst versuchen müssen herauszufinden, was mit diesen Datensätzen nicht in Ordnung ist.
Eventuell ist ein Feld ohne Inhalt und in der Zieltabelle darf ein solches nicht eingefügt werden (Null-Wert nicht erlaubt)?

Kannst du denn nicht eine neue DB erstellen mit der Tabelle und 10 oder 15 Datensätze - gültige, ungültige sowie Duplikate - reinkopieren und das Ding dann hier hochladen?

Lara

Ja, ich weiß ja jetzt .... keine Duplikate.
Aber immerhin werden mir doch mit der zweiten Variante meine gesamten 596.912 Datensätze in die Zieltabelle übertragen. Da bin ich doch schon mal auf der sichern Seite.

Mit der ersten Variante fehlen mir ja sonst 5.147 Datensätze. Warum und welche weiß ich ja nicht.

Werde ich die Gründe der Gültigkeitsverletzung finden, so kann ich ja die Löschabfrage mit Hilfe meiner Duplikate aus der Duplikatsabfrage endlich starten.

Nächster Plan für morgen: werde die Felddatentypen usw genau vergleichen.
Andere Gründe für Gültigkeitsverletzungen kann ich mir grad nicht vorstellen.

Viele Grüße, Lara

database

Hallo Lara,

ZitatAndere Gründe für Gültigkeitsverletzungen kann ich mir grad nicht vorstellen

Naja, wenn du eine KOPIE der Originaltabelle gemacht hast, sollten auch die Felddatentypen stimmen.
Hat Access denn keine Fehlertabelle erzeugt?


Lara

Nein, es wurde keine Fehlertabelle erstellt.
Genau, bei der Zieltabelle handelt es sich um die Kopie des Originals. Lediglich die Spalte ID (Auto-Wert) wurde vorangestellt.

database

#22
OK, nun gut,
ZitatAber immerhin werden mir doch mit der zweiten Variante meine gesamten 596.912 Datensätze in die Zieltabelle übertragen

Hast du nun alle Daten in der Zieltabelle?
Ist das ID-Feld nun auch fortlaufend nummeriert?

wenn ja dann lass mal die Duplikatssuche laufen und exportiere die ID der Duplikate in eine neue Tabelle

anschließen überprüfst du mit der folgenden SQL (Namen mußt du natürlich anpassen) ob die Duplikate nun gefunden werden
SELECT * FROM ABC WHERE ABC.ID IN (SELECT DEF.ID FROM DEF)

und wenn das passt dan lösche mal mit dieser SQL ...  ebenfalls Namen anzupassen!

DELETE * FROM ABC WHERE ABC.ID IN (SELECT DEF.ID FROM DEF)

NICHT VERGESSEN - ZUERST IMMER AN EINER KOPIE DER ORIGINALDATENBANK TESTEN!!!!