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

Antwort vom

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
Neue Frage stellen

Verwandte Fragen

Wie prüfe ich in Access VBA, ob eine spezielle Abfrage vorhanden ist?

Um in Microsoft Access per VBA zu prüfen, ob eine spezielle Abfrage (Query) existiert, kannst du die QueryDefs-Auflistung des aktuellen Datenbankobjekts verwenden. Hier ein Beispiel, wie du das m...

Wie funktioniert die SQL-Anweisung 'SELECT * INTO ... IN ... FROM ...' zur Übertragung von Daten zwischen Access-Datenbanken?

Die SQL-Anweisung ```sql SELECT * INTO [tbl TagesIstWerteBestände] IN " & strPfadExtern & " FROM [1z111 -1z101/1z102- BeständeHZV_InExterneDB]; ``` bedeutet Folgendes: -...

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...

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:...

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...

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...

Was bedeuten SELECT und WHERE in SQL?

In SQL sind **SELECT** und **WHERE** grundlegende Schlüsselwörter für das Abfragen von Daten aus einer Datenbank: - **SELECT**: Mit diesem Befehl wählst du aus, welche Spalten (Fe...

Warum erzeugt 'SELECT * INTO ... IN ... FROM ...;' die Fehlermeldung 'Die Abfrage muss auf mindestens einer Tabelle oder Abfrage basieren'?

Die Fehlermeldung „Die Abfrage muss auf mindestens einer Tabelle oder Abfrage basieren“ tritt in Microsoft Access häufig auf, wenn die SQL-Syntax nicht korrekt ist oder die angegebene...

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...

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...