Liebe Leute,
folgende Situation: in einer DB habe ich eine Kunden- und eine Außendienstler-Tabelle, zusätzlich eine Ansprechpartner-Tabelle.
Alle haben als Primärschlüssel einen Autowert.
Jeder Außendienstler hat ein eindeutiges Kürzel.
In der Kunden-Tabelle ist der Firmenname nicht eindeutig, das wird er erst zusammen mit der Außendienster-Kennung. Es gibt also den Kunden Meier für ADler HUGO und für ADler OTTO.
Die ADler liefern Excel-Dateien, in denen sie neue Ansprechpartner ihrer Kunden auflisten, z. B.
ADler/Kunde/Ansprechpartner/Funktion...
OTTO/Meier/Fischer/Leiter...
OTTO/Meier/Leonhart/Geschäftsführer...
bzw.
HUGO/Meier/Meier/Senior...
HUGO/Meier/Müller/Vorstand...
HUGO/Schulze/Berger/Sekretärin...
Wohl gemerkt: der Kunde Meier des ADlers OTTO ist nicht unbedingt der gleichnamige Kunde von HUGO.
Wie kann ich beim Import der Daten erreichen, dass OTTO, HUGO, bzw. Meier, Schulze in die jeweiligen Primärschlüssel (Fremdschlüssel) umgewandelt und gespeichert werden?
Zu meiner Entschuldigung: ich habe weder das Datenmodell (insgesamt ca. 20 Tabellen, Referenzen fast ausschließlich über Autowert-Schlüssel) noch die Anwendung entwickelt...
Sinngemäß nach Importtabelle in m:n-Beziehung auflösen (http://www.dbwiki.net/wiki/Datei:AccSampleDivideTable.zip)
Hallo,
Ich hab's nun wie folgt gelöst:
1. Excel-File in neue Tabelle importieren
2. eine Abfrage erzeugen mit Joins zwischen allen beteiligten Tabellen, um die Referenz-IDs zu bekommen.
4. alle unnötigen Felder (Original-Name etc.) in der Abfrage gelöscht, so dass nur noch die betreffenden IDs blieben (und die anderen Datenfelder)
5. Update hinzugefügt
So hat's funktioniert, aber nur, weil in den Excel-Dateien keine neuen ADler und keine neuen Kunden vorhanden sind.
Zitataber nur, weil in den Excel-Dateien keine neuen ADler und keine neuen Kunden vorhanden sind
Es sollten natürlich vorangehend Anfügeabfragen mit Inkonsistenzprüfung auf die ADler-Tabelle und die Kundentabelle erfolgen, so dass die "neuen" dann bekannt sind und die entsprechenden Primärschlüssel erfassbar sind.
Das ist aber im verlinkten Beispiel auch enthalten.