Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Access-Tabelle kopieren, da umbennen nicht möglich... (https://www.delphipraxis.net/44196-access-tabelle-kopieren-da-umbennen-nicht-moeglich.html)

torud 15. Apr 2005 09:18

Datenbank: Access • Zugriff über: ADO

Access-Tabelle kopieren, da umbennen nicht möglich...
 
Hallo Wissende!

Ich würde gern eine Tabelle einer Access-DB kopieren, da ja das Umbenennen nicht möglich ist. Ist dies möglich - ohne das ich die Struktur zu umzubenennenden (zu kopierenden) Tabelle weiss???

Dies hier blieb leider ohne Erfolg

Delphi-Quellcode:
     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Text :='CREATE TABLE NeueTabelle';
     ADOQuery1.ExecSQL;

     ADOQuery1.SQL.Clear;
     ADOQuery1.SQL.Add('INSERT INTO NeueTabelle');
     ADOQuery1.SQL.Add('SELECT * FROM AlteTabelle');
     ADOQuery1.ExecSQL;
Der Compiler warf die Fehlermdlung auf, dass er ein Feld in der "NeueTabelle" nicht finden konnte. Klar. Ich hatte es nicht angelegt, wollte ich doch dynamisch kopieren.

Geht das? Wenn ja => WIE??

Stevie 15. Apr 2005 09:51

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
Ich weiß nicht, ob das bei Access auch geht aber normalerweise:
SQL-Code:
create table neu as select * from alt

torud 15. Apr 2005 13:45

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
Das geht leider nicht!

Fehler in Create Table - Anweisung meckert der Compiler!

Stevie 15. Apr 2005 13:55

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
Ok, schade, also kommst du nicht umhin, die Tabelle "manuell" vorher mit allen Feldern zu erstellen.

Jens Schumann 15. Apr 2005 14:49

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
Hallo,
ich bin mir sicher dass das mit ADOX funktioniert.
Empfehle: Mal im ADO SDK nachschlagen

torud 15. Apr 2005 15:06

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
Oje, da werde ich mein Schulenglisch ,mal wieder auspacken müssen, denn die SDK gibts doch wieder nicht in deutsch!?

Ansonsten danke für beiden Antworten.

Wenn noch jemandem direkt einfällt wie es geht, freue ich mich auch über ne Message!

der-C 15. Apr 2005 15:38

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
gabs bei access nicht di SELECT INTO anweisung
die hat eine tabelle kopiert.

Stevie 15. Apr 2005 15:49

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
Zitat:

Zitat von der-C
gabs bei access nicht di SELECT INTO anweisung
die hat eine tabelle kopiert.

Wow, wieder was gelernt! :thumb:
SQL-Code:
SELECT * INTO NeueTabelle FROM AlteTabelle

torud 15. Apr 2005 16:46

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
Geil, Geil, Geil!
Genau das war es!

Geht so was auch mit Datenbankfeldern einer Tabelle???

Ich beginne auch einen neuen Thread, wenn nötig, aber irgendwie passt das doch zum Thema!?

Stevie 15. Apr 2005 16:57

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
Über nen kleinen Umweg...
SQL-Code:
ALTER TABLE MeineTabelle ADD COLUMN NeuesFeld VARCHAR(20)
SQL-Code:
UPDATE MeineTabelle SET NeuesFeld = AltesFeld
SQL-Code:
ALTER TABLE MeineTabelle DROP COLUMN AltesFeld

torud 26. Okt 2005 17:44

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
Hallo Wissende!

Zitat:

Zitat von Stevie
Über nen kleinen Umweg...
SQL-Code:
ALTER TABLE MeineTabelle ADD COLUMN NeuesFeld VARCHAR(20)
SQL-Code:
UPDATE MeineTabelle SET NeuesFeld = AltesFeld
SQL-Code:
ALTER TABLE MeineTabelle DROP COLUMN AltesFeld

Ich habe den oben stehenden Code in einem Stück abarbeiten lassen und erhalte jedes mal eine Fehlermeldung. Waum nur? Der Provider sagt mir, dass ein Fehler in der TABLE-Anweisung vorhanden wäre. Wenn ich aber die obige erste Zeile ohne die anderen 2 Zeilen ausführe klappt alles einwandfrei. Zumindest wird dann das Feld kopiert, ohne das es eine Fehlermeldung gibt.

Sobald ich aber die 2. Zeile mit reinnehme meldet er mir, dass die Table-Anweisung falsch sei. Darf ich das etwa nicht in einem Rutzsch abarbeiten lassen!?

torud 26. Okt 2005 20:52

Re: Access-Tabelle kopieren, da umbennen nicht möglich...
 
Also ich habe es nun herausbekommen!

Man muss jeden SQL-Befehl einzeln abarbeiten, dann funktioniert es!


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

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