Wie funktioniert der INSERT INTO ... IN ... SELECT ... FROM-SQL-Befehl in Access/VBA?

Antwort

In Microsoft Access kannst du mit einer **INSERT INTO ... SELECT ... FROM ...**-Anweisung Daten aus einer Tabelle (oder Abfrage) in eine andere Tabelle einfügen. Das Grundschema sieht so aus: ```sql INSERT INTO ZielTabelle (Feld1, Feld2, ...) SELECT Feld1, Feld2, ... FROM QuellTabelle WHERE Bedingung; ``` **Beispiel:** Angenommen, du hast zwei Tabellen: `Kunden` und `NeueKunden`. Du möchtest alle Kunden mit Wohnort "Berlin" aus `Kunden` in `NeueKunden` einfügen: ```sql INSERT INTO NeueKunden (KundenID, Name, Wohnort) SELECT KundenID, Name, Wohnort FROM Kunden WHERE Wohnort = 'Berlin'; ``` **Hinweise:** - Die Feldanzahl und -reihenfolge in `INSERT INTO` und `SELECT` müssen übereinstimmen. - Die Ziel-Tabelle (`NeueKunden`) muss existieren. - In VBA kannst du diese Anweisung z.B. mit `CurrentDb.Execute` ausführen. **Weitere Infos:** - [Microsoft Access SQL: INSERT INTO Statement](https://support.microsoft.com/de-de/office/insert-into-statement-6da14a63-3b8b-46c1-9b90-1dc3b722c3a6) Falls du ein konkretes Beispiel oder eine bestimmte Situation hast, kannst du die Tabellen- und Feldnamen entsprechend anpassen.

Kategorie: Datenbanken Tags: Access SQL VBA
KI fragen

Verwandte Fragen

Warum erscheint in Access bei SELECT-Abfragen im Abfrageentwurfsansicht ein Alias wie audr1: vor Feldnamen?

In Microsoft Access wird im Abfrageentwurf (Abfrageentwurfsansicht) automatisch ein Alias wie „audr1:“ vor einem Feldnamen angezeigt, wenn: 1. **Das Feld aus einer Abfrage stammt:** Wenn... [mehr]

Wie ermittelt man in Access VBA, mit welchen Datentypen ein Feld gefüllt ist?

Um in Microsoft Access mit VBA zu ermitteln, mit welchen Datentypen ein Feld in einer Tabelle gefüllt ist, gibt es zwei Ansätze: **1. Datentyp des Feldes in der Tabellendefinition abfragen:... [mehr]

Access VBA: Wie erkennt man, ob ein anderer Benutzer eine Tabelle aktualisiert?

In Microsoft Access gibt es keine eingebaute, einfache Möglichkeit, direkt per VBA zu erkennen, ob ein anderer Benutzer gerade eine bestimmte Tabelle aktualisiert oder bearbeitet. Access ist eine... [mehr]

Microsoft Access: VBA DELETE FROM mit mehreren Attributen?

In Microsoft Access VBA kannst du eine `DELETE`-Anweisung verwenden, um Datensätze aus einer Tabelle zu löschen, die mehreren Bedingungen entsprechen. Hier ist ein Beispiel, wie du dies tun... [mehr]

Muss ein AutoFeld in der Zieltabelle bei SQL INSERT INTO in Access/VBA deklariert werden?

Nein, das **Autofeld** (in Access meist als „AutoWert“ oder „Autonumber“ bezeichnet) muss und soll beim `INSERT INTO`-Befehl **nicht** deklariert oder mit einem Wert belegt wer... [mehr]

Wie kann man in Access eine Abfrage automatisch auf eine andere Tabelle umstellen, wenn die ursprüngliche Tabelle nicht verfügbar ist?

Um in Microsoft Access eine Abfrage so zu gestalten, dass sie auf eine alternative Tabelle zugreift, falls die ursprüngliche Tabelle nicht verfügbar ist, gibt es keine eingebaute „Fall... [mehr]

Wie zeigt man beim SQL Server mit einer SELECT-Abfrage den letzten Datensatz an?

Um beim SQL Server mit einer SELECT-Abfrage den letzten Datensatz einer Tabelle anzuzeigen, benötigst du eine Spalte, nach der sich die Reihenfolge eindeutig bestimmen lässt (z. B. eine ID-S... [mehr]

Was ist der Unterschied zwischen LEFT OUTER JOIN und RIGHT OUTER JOIN?

Ein **LEFT OUTER JOIN** und ein **RIGHT OUTER JOIN** sind beide Arten von Joins in SQL, die verwendet werden, um Daten aus zwei Tabellen zu kombinieren. Der Unterschied liegt darin, welche Tabelle im... [mehr]

Kannst du SQL-Text analysieren?

Ja, ich kann SQL-Text analysieren. Bitte stelle eine klare und präzise Frage zu deinem SQL-Text oder füge den entsprechenden SQL-Code ein, damit ich dir gezielt weiterhelfen kann.

Kann in Access ein Zahlenfeld mit "" (leerem String) befüllt werden?

In Microsoft Access kann ein Zahlenfeld (z. B. Felddatentyp „Zahl“ oder „Währung“) nicht mit einem leeren String („“) befüllt werden. Wenn du versuchst, e... [mehr]