Verschiedene Abfragen kombinieren

Hallo!

Ich möchte SQL unter Access verwenden. In einem ersten Schritt soll mit CREATE eine Tabelle erstellt werden und dann mit INSERT INTO diese mit Werten aus anderen Tabellen und neu berechneten Werten gefüllt werden.

Ich habe versucht alles in einer einzigen Abfrage hintereinander zu schreiben aber das funktioniert nicht.
Ich muss nun jeweils eine eigene Datendefinitionsabfrage mit dem CREATE-Teil erstellen, u.U. mehrere, die Werte aus den Tabellen errechnen oder mit UNION zusammenführen und eine, die die dann mit INSERT INTO alles in die Tabelle einfügt.
Das ist leider alles etwas umständlich und je nach Anforderung ergeben sich sehr viele einzelne Abfragen, die dann auch noch alle richtig aufgerufen werden müssen. Entsprechend Fehleranfällig ist das ganze dann auch.
Gibt es da irgendeine Möglichkeit, die ganzen Befehle in eine einzige Abfrage zu packen? Bei mySQL ist es kein Problem und Access sollte Standart-SQL ja eigentlich auch unterstützen…

Schon mal vielen Dank für die Antworten!

Sebastian

Hallo.

Ich möchte SQL unter Access verwenden. In einem ersten Schritt
soll mit CREATE eine Tabelle erstellt werden und dann mit
INSERT INTO diese mit Werten aus anderen Tabellen und neu
berechneten Werten gefüllt werden.

Du kannst, wie Du schon gemerkt hast, DDL und SQL nicht so ohne weiteres kombinieren. Wenn Du mit einem Ruck die Tabelle erzeugen und füllen willst, musst Du eine Tabellenerstellungsabfrage bauen. Diese arbeitet dann aber nicht mit CREATE TABLE, sondern mit SELECT INTO. Schau mal unter Tabellenerstellungsabfrage nach.

Gruß Eillicht zu Vensre

Das geht nicht in einer Abfrage (ausser mit einer Tabellenerstellungsabfrage, von der aber eher abzuraten ist, siehe z.B auch im DBWiki: http://www.dbwiki.de/wiki.php?title=Access_Design:_A… )
Warum nicht die beiden Abfragen nacheinander ausführen? Wenn das übersichtlich aussehen bzw. logisch zusammengefasst werden soll, packst du die SQL-Ausdrücke halt zusammen in eine entsprechende VBA-Prozedur.

Bzw. wozu überhaupt die Tabelle immer wieder neu erstellen? Es hat sich bewährt, die Tabellenstruktur als etwas Statisches anzusehen und auch so zu behandeln.

Ganz abgesehen von allem anderen: Access ist kein SQL-Server und Jet-SQL ist kein ANSI-SQL. Mit „in xxx geht das doch auch“ kommt man daher in den seltensten Fällen weiter - leider.

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)