Zwei Tabellen in eine kopieren

Hi Leute

Ich habe zwei Tabellen in Access. (Tab1 und Tab2). In jeder Tabellen befinden sich 10 Reihen und eine Spalte.
Nun möchte ich ein Makro schreiben das mir aus Tab1 und Tab2 eine neue Tabelle erstellt mit 10 Reihen jedoch mit zwei Spalten.
Dabei soll die erste Spalte den Inhalt der Tab1 beinhalten und die zweite Spalte den Inhalt von Tab2.
Wie kann ich dies Elegant mit einem Makro lösen.

Vielen Dank im voraus

Patrick

Hi Patrick,

die Lösung heißt abfragen ein Makro brauchst du nur um sowas automatisiert zu starten.

Vorgehen:
Schritt 1: Tabellenerstellungsabfrage aus Tabelle eins mit den Feldern von Tabelle 2)

Schritt 2: Aktualisierungsabfrage unter verwendung von Tabelle 2 und 3 (die werte von Tabelle 2 werden in Tabelle 3 geschrieben)

Gruss
Nils

Hallo Nils

Mein Problem ist es ja gerade das Ding zu automatisieren.
D.h. auf einer Form will ich ein Button anlegen der beim Drücken die Tab1 und Tab2 zu der Tab3 verschmelzen wird.
Mein Problem ist genau folgendes. Ich habe 5 einzelne Tabellen mit gleicher Reihenanzahl und jeweils nur einer Spalte. Diese insgesamt 5 Spalten sollen aber jetzt in eine einzige Tabelle kopiert werden. Danach werden die 5 Tabellen gelöscht.
Danach soll nur noch mit der Tabelle 6 weitergearbeitet werden.
(Wie gesagt, es muß automatisiert ablaufen, weil es an sich vor dem Hauptprogramm bereits automatisch ablaufen soll)

Vielen Dank im voraus

Patrick

Automatisieren
Abfragen Anlegen

Makro Bauen:

  • Warnmeldungen aus
  • Öffne Abfrage 1
  • Öffen Abfrage 2
  • Warnmeldungen an

Fertig

Gruss
Nils

Wie schon in der Mail geschrieben - wenn die Tabellen keine Spalten haben, dann muss man halt einen Autowert hinzufügen (ob dann aber jeweils die richtigen Zeilen nebeneinander geraten, ist die Frage - speziell müssen die Tabellen dann genau gleich groß sein!), also:

Public Function JoinUnlinkedTables()
On Error Resume Next
CurrentDb.Execute "DROP TABLE tbl\_neu"
On Error GoTo 0
CurrentDb.Execute "ALTER TABLE tbl1 ADD COLUMN ID COUNTER"
CurrentDb.Execute "ALTER TABLE tbl2 ADD COLUMN ID COUNTER"
CurrentDb.Execute "SELECT Tbl1.Feld AS Feld1, Tbl2.Feld AS Feld2" & \_
 " INTO Tbl\_Neu FROM Tbl1 INNER JOIN Tbl2 ON Tbl1.ID = Tbl2.ID"
CurrentDb.Execute "ALTER TABLE tbl1 DROP COLUMN ID"
CurrentDb.Execute "ALTER TABLE tbl2 DROP COLUMN ID"
End Function

… geht sicher auch per Makro „AusführenSQL“ - aber Makros sind generell Mist und sollten vermieden werden!

Gruß aus dem Norden
Reinhard Kraasch (http://www.kraasch.de - Access Tipps & Tricks)