Zitat von
Paul Jr.:
Es ist einfach und sauber... Du stellst via TDataBase getrennte Verbindungen zu jeweiliger Datenbank... und per entsprechende TDatasets (also TQuery oder TTable oder andere...) die an den besagten getrennten TDataBase ?hängen? öffnest Du zuerst die entsprechenden
SQL-Tabellen (am besten
Query als Quelle und TTable als Ziel)... dann läuftst Du die Quelle seqeuntiel durch und kopierst Du Datensatz für Datensatz in die ZIEL-Datenbank...
@Paul JR.:
deine Lösung ist nur dann nicht so einfach anwendbar, wenn sich die Struktur der zu kopierenden Tabelle von Zeit zu Zeit ändert. Das hätte ich schon dazu schreiben können. Sorry !
Dieser Fall kann in meiner Anwendung auftreten, weil die Quelltabelle aus Datenbank A dynamisch ist, es können also Attribute (Spalten) hinzugefügt werden (es handelt sich um eine andere Anwendung, die mit diesen dynamischen Tabellen arbeitet, kann ich leider nicht ändern !).
Die Interpration der (selten) hinzugefügten Attribute erfolgt dann in meiner Anwendung über eine separate Zuordnungstabelle. Das funzt auch schon problemlos.
Der gesamte Ablauf ist folgendermaßen gedacht:
Fremdanwendung sitzt auf Access-Datenbank A, schreibt Daten in Tabelle1 und ändert auch deren Struktur.
Import von Tabelle1 (Struktur und Daten) into Access-Datenbank B, auch wegen Datensicherung. Dieser Import muss übrigens nur in eine Richtung erfolgen.
Meine Anwendung sitzt auf Datenbank B und verwendet die Daten der importierten Tabelle weiter, d.h. die Daten werden auf die bereits vorhandene Datenstruktur in Datenbank B verteilt. Diese Datenstruktur soll nicht geändert werden, da noch weitere Schnittstellen vorhanden sind.
Kurzum: Ich muss eine dynamisch erweiterbare Tabelle (Struktur+Inhalte) mit
ADO von Datenbank A nach Datenbank B kopieren. Das muss doch auch einfacher gehen, als umständlich zwei Querys (dynamische Tabellenstruktur berücksichtigen !) zusammenzubasteln und Datensatz für Datensatz einzeln rüberschaufeln. Ich hatte auch schon überlegt, ob ich von Delphi aus eine Tabelle in
Access importieren kann, quasi, als ob ich direkt die mdb öffne und manuell 'Tabelle importieren' wähle. Das wäre auch eine elegante Lösung...
Auf jeden Fall habe ich durch Eure bisherigen Antworten schon viel dazu gelernt. Und darum geht es letztlich...Danke !