Duplikate erkennen

Wie Sie optimal mit doppelten Datensätzen umgehen

4
(1)
Beitrag bewerten
Stand: 10. November 2011

Eines der lästigsten Probleme bei der Speicherung von Daten, vor allem bei Adressen, ist das Erkennen von Duplikaten. Zwar bietet Access einen Abfrage-Assistenten zur Duplikatserkennung, aber dieser kommt im Grunde zu spät, wenn nämlich doppelte Daten bereits gespeichert wurden. Lorenz Hölscher zeigt, wie Sie optimal mit doppelten Datensätzen umgehen.

Für Übungszwecke steht eine Datenbank zum Download bereit: Datenbank "Duplikate" (.mdb, 212 kB). Aus lizenzrechtlichen Gründen dürfen wir die Beispiel-Tabelle "Kunden" nicht mitliefern, die Sie aber in der mit Access ausgelieferten "Nordwind.mdb" finden und importieren können.

Mitglied werden

Als zahlendes Mitglied von akademie.de haben Sie vollen Zugriff auf alle Inhalte und können alle PDF-Dateien, Checklisten, Mustervorlagen und Anwendungen herunterladen.

Sind Sie sich noch unsicher? Dann wählen Sie die Option “akademie.de kostenlos testen”. So können Sie sich 14 Tage in Ruhe umschauen. Downloads stehen Ihnen in dieser Zeit nicht zur Verfügung. Gefällt Ihnen akademie.de nicht, reicht ein formloser Widerruf per E-Mail innerhalb der ersten 14 Tage. Es entstehen für Sie keine Kosten. Widerrufen Sie nicht, erhalten Sie nach Ablauf von 14 Tagen vollen Zugriff und der Mitgliedsbeitrag wird abgebucht.

Ich bin bereits Mitglied
Mitglied werden!
Ich entscheide mich für folgende Zahlungsweise:

Beitrag bewerten

Ihre Wertung:

 

VBA Code zur Duplikatabfrage sehr langsam

Hallo,
ich habe diesen Code in meine DB übernommen. Bei ca. 26.000 Datensätzen ist die Eingabe bzw. Tastenanschlag in den Feldern sehr langsam. Wenn ich das Change-Ereignis testhalber auskommentiere, läuft auch die Eingabe/Tastenanschläge wieder einwandfrei. Wie kann ich die Geschwindigkeit optimieren?

Code-Beschleunigung

Hallo 'Gast',
es gibt mehrere Ansätze zur Beschleunigung:
- Die Datenbank komprimieren.
- Die Felder Kontaktperson und Ort müssen indiziert werden.
- Im Code können Sie sich auf die Anzahl ohne Details beschränken (also nur DCount, aber keine .RowSource=...-Zuweisung), das dürfte die Geschwindigkeit etwa verdoppeln.
- Die eigentlichen Details werden erst auf Button_Click angezeigt.
- Der Hauptspeicher muss so groß sein, dass die komplette Datenbank geladen werden kann und keine langsame Auslagerung auf die Festplatte nötig ist.

Bei diesen Datenmengen ist aber die vernünftigste Lösung die Auslagerung der Tabellen in einen SQL-Server und dort die Nutzung von StoredProcedures. Und der SQL-Server muss natürlich auf einem angemessenen Rechner laufen und nicht auf dem gleichen PC parallel.

MfG, L. Hölscher

Downloads zu diesem Beitrag

Newsletter abonnieren