Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: HaNe am November 11, 2022, 08:40:08

Titel: Daten aus MDB importieren
Beitrag von: HaNe am November 11, 2022, 08:40:08
Hallo in die Runde,

ich habe folgendes Problem: Ich arbeite mit einer älteren Bürosoftware (Sage KHK), welche alles Grundlage eine MDB Datei verwendet. Ich kann diese auch ohne Probleme verknüpfen, nur dauert das lesen der Daten aus dieser Datei extrem lange. Ich erstelle hier seit vielen Jahren meine Fertigungsaufträge und nutze die Daten für verschiedene Auswertungen.
Meine Frage nun - wie kann ich per VBA auf diese Datei und der darin befindlichen Tabelle zugreifen um die benötigten Daten in meine DB zu importieren? Geht sowas überhaupt? ...bin in VBA blutiger Anfänger....

Gruß
Hagen
Titel: Re: Daten aus MDB importieren
Beitrag von: ebs17 am November 11, 2022, 09:38:58
Für einen einfachen (einmaligen) Import kannst Du über das Menü gehen: Import aus Access, Datei einstellen, Tabellen auswählen.
Als VBA-Methode: DoCmd.TransferDatabase ...

Das Problem, dass die MDB passwortgeschützt ist, besteht wohl offensichtlich nicht. Dann kannst Du alles machen, vom Verlinken der Tabellen in Dein Frontend, SQL-Zugriffe auf externe DB, Zugriffe per DAO und ADODB.
Titel: Re: Daten aus MDB importieren
Beitrag von: HaNe am November 11, 2022, 12:16:50
Vielen Dank für die schnelle Antwort,
genau das meine ich. Da der Zugriff auf die verknüpfte MDB wirklich extrem lang dauert, würde ich mir z.B. die neuen Daten per Knopf (VBA) in meine DB einlesen wollen.
Nur wie bekomme ich das hin...das ist mein aktuelles Problem.

G´Auf
Hagen
Titel: Re: Daten aus MDB importieren
Beitrag von: ebs17 am November 11, 2022, 12:58:50
Zitatdie neuen Daten
... müssten an irgendwelchen objektiven Kriterien (Schlüsseln) ermittelt werden.

Damit kann man dann pro relevanter Tabelle eine Abfrage wie (3) in Grundlagen - SQL ist leicht (4) - Aktualisierung einer Tabelle (https://www.ms-office-forum.net/forum/showthread.php?t=304156)
ausführen. Wenn da Beziehungen zwischen Tabellen im Spiel sind, müsste man zusätzlich die Reihenfolge bei den Tabellen beachten (Tabelle mit Primärschlüssel vor Tabelle mit abgeleitetem Fremdschlüssel).
Titel: Re: Daten aus MDB importieren
Beitrag von: HaNe am November 13, 2022, 10:35:50
Das hört sich ja schonmal richtig gut an.
Ich habe insgesamt 6 Tabellen aus dieser mdb, von denen ich Daten benötige. Es geht nur um die reinen Daten aus Tabellen. Alle Verknüpfungen, Primärschlüssel oder ähnliches werden in meiner DB ( wo also die Daten hin geschoben werden ) neu gesetzt.

Ich will ja nur sehen, ob das über so eine Methode schneller geht. Aktuell ist die MDB mit meiner DB verknüpft und ich muss teilweise bis zu 30 Sekunden warten, bis die Daten geöffnet werden. Ist schon ne ziemlich nervige Sache.

Die MDB und meine DB liegen auf einem NAS. Hatte auch schon überlegt, die auf meinem Rechner zu legen. Da muss dieser dann aber immer engeschaltetsein, weil andere Mitarbeiter auch Zugriff auf die mdb benötigen.....
Titel: Re: Daten aus MDB importieren
Beitrag von: ebs17 am November 13, 2022, 12:37:36
ZitatAlle Verknüpfungen, Primärschlüssel oder ähnliches werden in meiner DB ( wo also die Daten hin geschoben werden ) neu gesetzt.
Das, nachdem die Daten geladen wurden?
Das ist schwierig bis problematisch und leicht sehr langwierig, je nach Methode, die verwendet wird.

Welchen konkreten Plan bzw. welche Lösung hast Du dazu?

ZitatDie MDB und meine DB liegen auf einem NAS
Gleiche Lokalität, gleiche Netzwerkwege. Wenn das Laden nur von Daten aus einer MDB-Tabelle so lange dauert, habe ich keine Vorstellung, warum das bei Verschiebung in eine andere DB anders sein soll.
Wenn das Laden über nichtoptimale bis katastrophale Abfragen erfolgt und daraus resultierend sehr lang dauert, ist das dann ein Frontendproblem.

Bezüglich eines Vorteils eines eigenerstellten Backends könnte ich mir nur vorstellen, dass die Experten von Sage jegliche Indexsetzung "vergessen" haben, was man dann in der eigenen DB korrigiert.
Wenn Du aber uneingeschränkt Zugriff auf die MDB hast, sollte man solche Indizes auch direkt dort analysieren und ergänzen können.
Titel: Re: Daten aus MDB importieren
Beitrag von: steffen0815 am November 13, 2022, 17:21:13
Hallo,
Zitatum die benötigten Daten in meine DB zu importieren
Kopiere doch die (jeweils aktuelle) DB für deine Auswertungen auf deinen lokalen Rechner.
Einmal verknüpft kannst du die ja jedes mal problemlos tauschen.

Ist das dann immer noch langsam, muss man dann über eine Änderung der Indizierung in der Kopie  nachdenken.