Neuigkeiten:

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

Mobiles Hauptmenü

Anfügen von Datensätzen aus unterschiedlichen Datenbanken in Zentral-Datenbank

Begonnen von Paule, Mai 27, 2016, 11:29:55

⏪ vorheriges - nächstes ⏩

Beaker s.a.

Hallo Paul,
NEIN. Die Zwischentabellen gehören ALLE weg.
Denn, wie bereits geklärt wird eine Region NICHT durch MEHRERE
Branches verwaltet.
Ebenso kann ein District nicht in mehreren Regions liegen, usw.
Wenn du das mit den Mehrfelder-Indizes nicht verstanden hast, öffne
die Tabellen in der DB, die ich als letztes angehängt hatte, in der
Entwurfsansicht und schau dir die Indizes an.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Paule

Hallo Ekkehard,

ah, alles klar. Ok.

Du hattest in der MI_Regions Tabelle ja diesen Mehrfeldschlüssel benutzt.
Als Indexname hast du "RegionBranch" gewählt. Das hat aber nichts mit der ehemaligen Zwischentabelle "BranchToRegion" zu tun?

Dann würde ich jetzt solche Mehrfeldschlüssel auch in die Tabellen District, Wards und Villages einfügen.

Beaker s.a.

Hallo Paul,
ZitatAls Indexname hast du "RegionBranch" gewählt. Das hat aber nichts mit der ehemaligen Zwischentabelle "BranchToRegion" zu tun?
Ja, das hat mit der Tabelle nichts zu tun; - 'tschuldigung für diese Idee
und die daraus entstandene Verwirrung. Ich bennene die halt nur auch so
ähnlich.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Paule

Hi Ekkehard,

alles gut, kein Problem. :)

Ich habe jetzt die Mehrfeldschlüssel hinzugefügt und auch die Anfügeabfragen in der Zentraldatenbank um die Daten aus den "Externen Tabellen" (B1...B2) in die MI_Regions/District/Ward/Village- Tabelle der Zentrale zu übertragen.

Das klappt zwar ohne Schlüsselverletzung, aber da ist noch ein Fehler drinnen.

Beispiel Districts: Einzelne Districts werden mehreren Regionen zugeordnet. Siehe Screenshot und Districts "TestDistrictMOR", "Daressalaam Rural", "Daressalaam Urban", "Makongo", "TestdistrictDar2".

Habe ich einen Fehler bei der Verschlüsselung (siehe Screenshot) oder bei der Anfügeabfrage gemacht (siehe Screenshot 2).


Beaker s.a.

Hallo Paul,
Fehler gefunden.
Es gibt ja nur ein einziges eindeutiges Merkmal, und das ist die BranchID.
Deshalb muss in alle Abfragen ein Filter darauf rein. D.h. aber auch, dass
die Abfragen unter der Region immer den ganzen Beziehungsbaum zu den
übergeordneten Tabelle benötigt. Schau's dir an.
Bei dem ganzen Drübernachdenken und Basteln ist mit zudem noch die
Idee gekommen, statt die Daten aus den einzelnen Branches-DBs in die
T-DB zu schieben (musst du sie ja alle nacheinander öffenen), wäre es doch
besser den Import aus der Zentrale zu bewerkstelligen. Dazu müsste nur
der Pfad zur Branch-DB in die Tabelle MI_BranchesT angelegt sein.
Ich setze mich da jetzt mal dran, und knobel das auch noch aus.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Beaker s.a.

Hallo Paul,
Eh voila.
Anbei neue DB.
Da wird der Import jetzt komplett über ein Formular in der Zentrale-DB
angestossen.
Per Kombi oder Listfeld (kannst du dir aussuchen) werden die Branch(es)
ausgewählt und per Buttonklick importiert. Die benötigten Abfragen
werden dabei vollständig per VBA generiert.
Wichtig:
1. In "MI_BranchesT" muss das Feld für den Pfad zur Branches-DB
eingefügt werden (im Beispiel natürlich schon drin, musst nur die ein-
getragenen Pfade anpassen).
2. Die Tabellen müssen in allen Branch-DBs gleich benamst sein.
3. In "MI_Regions" der Branches musst du sicherstellen, dass das Feld
"BranchID_FK" per Standardwert mit der ID aus "MI_RegionsT" belegt
wird.
So, hoffe nicht wieder was vergessen zu haben.
Hat Spass gemacht; - viel gelernt.
gruss ekkehard

P.S. @regulars
Im Anhang ist jetzt auch wieder ein .mdb dabei, nebst der , auf die rele-
vanten Tabellen reduzierten, Branches(Filialen)-DBs. Falls ihr es euch
anschauen wollt.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Paule

Hi Ekkehard,

ich komme leider nicht vor nächster Woche Donnerstag dazu, es auszuprobieren.
Aber ich bin mir sicher, dass ich das schon hinbekommen werde.

Ganz lieben Dank für all deine Bemühungen!

Gruß

Paule

Zitat von: Beaker s.a. am Juni 01, 2016, 16:39:26
Hallo Paul,
Fehler gefunden.
Es gibt ja nur ein einziges eindeutiges Merkmal, und das ist die BranchID.
Deshalb muss in alle Abfragen ein Filter darauf rein. D.h. aber auch, dass
die Abfragen unter der Region immer den ganzen Beziehungsbaum zu den
übergeordneten Tabelle benötigt. Schau's dir an.


Hi Ekkehard,

ich habe jetzt mal drübergeschaut.
Jetzt klappt das mit dem Import der Daten super.
Der Mehrfeldschlüssel bleibt trotz neuer Abfragestruktur allerdings bestehen, nicht wahr?

Das Gleiche wollte ich jetzt bei MI_Contacts machen.
Ich habe zwei Tabellen in der Zentraldatenbank angelegt, wo die Kontakte aus den einzelnen Branches reinkommen (B1...B2).
Der Import der Daten in diese beiden Tabellen aus den Branches in die Zentraldatenbank funktioniert ohne Probleme.
Allerdings dann das Anfügen aus diesen beiden Tabellen in die die Tabelle MI_ContactsT nicht.
Schlüsselverletzungen ist wieder das Stichwort.

Ich habe sowohl die Tabellenstruktur von MI_ContactsT als auch die Abfragestruktur der Anfügeabfrage aks Screenshot angehangen. Eigentlich ist doch alles genau gleich zu vorher. Warum also wieder Schlüsselverletzung? Komisch...

Wenn das soweit funktioniert würde ich mir dann die Formular-Lösung anschauen.


Beaker s.a.

Hallo Paul,
ZitatDer Mehrfeldschlüssel bleibt trotz neuer Abfragestruktur allerdings bestehen, nicht wahr?
Ja, die sind wichtig. In der Grafik ist leider nicht zu sehen, ob der
eindeutig ist, da der Fokus auf dem PK liegt; - überprüfen!

ZitatWarum also wieder Schlüsselverletzung?
Weil du den falschen Schlüssel einfügst.
In der 2. Spalte musst du das Feld "VillageID" aus "MI_ContactsT" anfügen,
nicht den Fremdschlüssel aus "MI_ContactsB2".

ZitatWenn das soweit funktioniert würde ich mir dann die Formular-Lösung anschauen.
Ja mach mal. Da werden die Abfragen per VBA generiert, und eine nach
der anderen automatisch ausgeführt. Das hat den Vorteil, dass du
1. nicht für jeden Branch ein halbes Dutzend Abfragen anlegen, und
2. (vor allem) nicht jede Abfrage einzeln öffnen musst. Das ist doch bei
nur zwei Branches schon nervig genug.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Paule

Hi Ekkehard,

ahhh ja, Fehler gefunden. Ja, alles klar, das macht auch Sinn. Jetzt funktioniert es reibungslos! Ganz vielen Dank!

Ja mach mal. Da werden die Abfragen per VBA generiert, und eine nach
der anderen automatisch ausgeführt. Das hat den Vorteil, dass du
1. nicht für jeden Branch ein halbes Dutzend Abfragen anlegen, und
2. (vor allem) nicht jede Abfrage einzeln öffnen musst. Das ist doch bei
nur zwei Branches schon nervig genug.

Ja, ich werde mir mal den Code anschauen. Ganz vielen Dank für all deine Mühen nochmal!
Eine Frage dazu noch: Müssen die Dateien zwangsläufig auf einem lokalen Laufwerk sein, oder ist der Pfad auch ok, wenn er zu einem Dropbox-Ordner führt?

Beaker s.a.

Hallo Paul,
ZitatEine Frage dazu noch: Müssen die Dateien zwangsläufig auf einem lokalen Laufwerk sein, oder ist der Pfad auch ok, wenn er zu einem Dropbox-Ordner führt?
Wie gesagt, Dropbox?
Probiers aus.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)