Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Inhalt von externer Datenbank-Tabelle kopieren (https://www.delphipraxis.net/215073-inhalt-von-externer-datenbank-tabelle-kopieren.html)

HCB 3. Mai 2024 10:43

Datenbank: Access mdb • Version: 2003 • Zugriff über: FireDac

Inhalt von externer Datenbank-Tabelle kopieren
 
Hallo,
ich versuche gerade den Inhalt einer alten Tabelle die sich in einer .mdb Datenbank extern auf einem Stick befindet, in einer bestehenden Tabelle mit gleichen Namen zu kopieren.
Folgendes SQL wird zwar ohne Fehler ausgeführt, kopiert aber nicht.

Delphi-Quellcode:
INSERT INTO Belege([*])      //bestehende Tabelle
  SELECT *
      FROM ([D:\KINGSTON\Tools\database\tools.mdb].[Belege]) ;       //externe Tabelle
Kann mir bitte jemand einen Hinweis geben, was da faul ist?
Vielen Dank.

LG Harry

Delphi.Narium 3. Mai 2024 11:11

AW: Inhalt von externer Datenbank-Tabelle kopieren
 
Hab' mal bei 'ner KI nachgefragt:
Zitat:

Zitat von Frage
Wie kann ich in Access per SQL-Insert eine Tabelle aus einer externen Datenbankdatei in meine eigene Datenbankdatei kopieren, die Tabellenstrukturen sind identisch?

Zitat:

Zitat von Antwort
Um eine Tabelle aus einer externen Access-Datenbank in Ihre eigene Datenbank zu kopieren, können Sie die 'INSERT INTO'-Anweisung in Kombination mit der 'SELECT'-Anweisung verwenden. Hier ist ein allgemeines Beispiel, wie Sie dies tun können:

SQL-Code:
INSERT INTO ZielTabelle
SELECT * FROM [MS Access;DATABASE=PfadZurQuelldatenbank].QuellTabelle
Zitat:

Zitat von Fortsetzung der Antwort
In diesem Beispiel:
- 'ZielTabelle' ist der Name der Tabelle in Ihrer Datenbank, in die Sie die Daten einfügen möchten.
- 'PfadZurQuelldatenbank' ist der vollständige Pfad zur externen Access-Datenbankdatei, aus der Sie die Daten kopieren möchten.
- 'QuellTabelle' ist der Name der Tabelle in der externen Datenbank, aus der Sie die Daten kopieren möchten.

Bitte beachten Sie, dass diese Methode davon ausgeht, dass die Struktur der Quell- und Zieltabelle identisch ist. Wenn die Strukturen nicht identisch sind, müssen Sie die spezifischen Felder angeben, die Sie kopieren möchten, sowohl in der 'INSERT INTO'- als auch in der 'SELECT'-Anweisung.

Zum Beispiel:

SQL-Code:
INSERT INTO ZielTabelle (Feld1, Feld2, Feld3)
SELECT Feld1, Feld2, Feld3 FROM [MS Access;DATABASE=PfadZurQuelldatenbank].QuellTabelle
Zitat:

Zitat von Fortsetzung der Antwort
In diesem Fall sind 'Feld1', 'Feld2' und 'Feld3' die spezifischen Felder, die Sie kopieren möchten. Stellen Sie sicher, dass die Reihenfolge und der Datentyp der Felder in der 'INSERT INTO'- und 'SELECT'-Anweisung übereinstimmen.

Bitte ersetzen Sie die Platzhalter in den obigen Beispielen durch Ihre tatsächlichen Tabellennamen, Feldnamen und den Pfad zur Quelldatenbank.

Bitte beachten Sie auch, dass Sie für diese Operation die entsprechenden Berechtigungen zum Lesen der Quelldatenbank und zum Schreiben in die Zieldatenbank benötigen.

Ich hoffe, das hilft! Wenn Sie weitere Fragen haben, lassen Sie es mich bitte wissen. ??

Zitat:

Zitat von Frage
Wäre ein SQL folgender Form auch möglich oder müsste hier dann mit Fehlern gerechnet werden bzw. werden dann einfach nur keine Daten übernommen?

SQL-Code:
INSERT INTO Belege([*]) //bestehende Tabelle
  SELECT *
      FROM ([D:\KINGSTON\Tools\database\tools.mdb].[Belege]) ; //externe Tabelle
Zitat:

Zitat von Antwort
In SQL ist die Syntax '[*]' nicht gültig. Die korrekte Syntax, um alle Spalten auszuwählen, ist '*' ohne eckige Klammern. Daher sollte Ihr SQL-Statement wie folgt aussehen:

SQL-Code:
INSERT INTO Belege
SELECT *
FROM [MS Access;DATABASE=D:\KINGSTON\Tools\database\tools.mdb].Belege
Zitat:

Zitat von Fortsetzung der Antwort
In diesem Statement:
- 'Belege' ist der Name der Tabelle in Ihrer Datenbank, in die Sie die Daten einfügen möchten.
- 'D:\KINGSTON\Tools\database\tools.mdb' ist der vollständige Pfad zur externen Access-Datenbankdatei, aus der Sie die Daten kopieren möchten.
- Das zweite 'Belege' ist der Name der Tabelle in der externen Datenbank, aus der Sie die Daten kopieren möchten.

Bitte beachten Sie, dass diese Methode davon ausgeht, dass die Struktur der Quell- und Zieltabelle identisch ist. Wenn die Strukturen nicht identisch sind, müssen Sie die spezifischen Felder angeben, die Sie kopieren möchten, sowohl in der 'INSERT INTO'- als auch in der 'SELECT'-Anweisung.

Ich hoffe, das hilft! Wenn Sie weitere Fragen haben, lassen Sie es mich bitte wissen. ??


HCB 3. Mai 2024 11:18

AW: Inhalt von externer Datenbank-Tabelle kopieren
 
Danke das hilft.
Wo kann man denn bei einer KI nachfragen???

LG Harry

Delphi.Narium 3. Mai 2024 11:51

AW: Inhalt von externer Datenbank-Tabelle kopieren
 
Im Internet?

https://www.bing.com/search?q=Bing+A...=1&FORM=hpcodx
https://www.perplexity.ai/?
https://you.com/search?q=Guten+Tag&tbm=youchat
https://deepai.org/chat
https://iask.ai/?mode=academic
https://www.userlike.com/de/blog/die-besten-chatbots
https://gradually.ai/ki-chatbots/

Einfach mal bei der Suchmaschine Deiner Wahl nach Chat mit KI fragen? Oder Welche der KI-Chatbots sind kostenlos?

HCB 3. Mai 2024 14:40

AW: Inhalt von externer Datenbank-Tabelle kopieren
 
Vielen herzlichen Dank, die Links muss ich mal checken :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz