2.2k Aufrufe
Gefragt in Windows 7 von
Hallo,
ich habe ein kleines Problem. Ich will Exceltabellen in Access einfügen, jedoch haben die Exceltabellen unterschiedliche Überschriften, sollen aber in die gleiche Tabellen (z.B. eine Tabelle hat die Überschrift Preis, die andere Verkaufspreis). Auch ist es teilweise so, dass Spalten fehlen, die in anderen Exceltabellen fehlen.
Sollte man da einen Makro schreiben, der die Tabellen erst alle anpasst?
Wäre super, wenn jdn ne Idee hätte.
Grüße Mona

6 Antworten

0 Punkte
Beantwortet von ch55 Experte (3.8k Punkte)
Hallo,

ich würde mir in Access eine Tabelle erstellen, die alle gewünscgten Spalten etc. enthält die ich haben will und die Daten dann aus Excel händisch kopieren, also die entsprechende Spalte in Excel im Spaltenkopf markieren und kopieren und dann in der Spalte meiner Access-Tabelle einfügen.
Eine andere Lösung fällt mir jetzt nicht ein, ein Makro hierfür ist auch sehr schwierig zu erstellen und der Vorgang ist ja wahrscheinlcih nur einmalig zur Erstellung de Access-Datenbank. Aber vielleicht hat ja jemand eine kreativere Lösung.
0 Punkte
Beantwortet von
Hi,
das Problem ist das immer wieder solche Tabellen in die Datenbank eingelesen werden sollen. Also muss ich schon eine "kreativere" Lösung finden.
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Mona,

Ich nehme an die Tabellen sollen zusammengeführt werden, dabei spielt es keine Rolle, ob sie verschiedene Überschriften haben, es muß nur die Spaltenanzahl übereinstimmen.

Mit einer Union-Abfrage wäre es möglich.

>Die einzeilnen Excel Tabellen nach Access importieren/verknüpfen
>aus jeder Tabelle eine Abfrage erstellen
>Union-Abfrage erstellen
>die einzelnen Abfragen mittels SQL-Code einfügen

Wenn es das ist was Du brauchst, könnte ich Dir ein Konzept zukommen lassen.

Oder noch besser Vielleicht kannst Du 2 solcher konkreten Excel Tabellen (abgespeckt und anonymisiert) hochladen.

Gruß

Paul1

Access 2003
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Mona,

Nachtrag:

Das mit der Spaltenanzahl bzw. wie die einzelnen Tabellen (Spalten) konform gehen sollen und wie es aussehen soll wenn es fertig ist, müsste natürlich vorher geklärt werden.

Gruß

Paul1
0 Punkte
Beantwortet von
Hi,

also es ist so, dass ich schon eine Tabelle mit der benötigen Spaltenanzahl vorgegeben habe. Dann habe ich einige Exeltabellen, die in diese Access-Tabelle eingefügt werden sollen. Jedoch ist es z.B. so, dass in der Access-Tabelle die Spalten Name, Vorname, Adresse, PlZ, Ort sind. Aber in der Exceltabelle, Vorname, Name, Straße, PLZ, Ort, Land sind. Wie kann ich den sowas einfügen, dass er die Daten an die richtige Stelle schreibt und Daten, die ich nicht brauche weglässt?
Danke!!
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Mona,

habe nach den Angaben in AW5 mittels Union Abfrage die Access Tabelle (Abfrage) und die Excel Tabelle (Abfrage) mittels Union Abfrage zusammengeführt.
Dabei war es wichtig, dass sowohl die Access Tabelle als auch die Excel Tabelle die gleiche Spaltenanzahl haben mussten, daher war es notwendig in der Entwurfsansicht der vorhandenen Access-Tabelle das Feld „Land“ hinzuzufügen.

>Die Excel Tabelle hatte ich verknüpft nach Access importiert
>Abfrage aus verknüpfter Excel Tabelle die Spalten und die Reihenfolge so ausgewählt, dass sie mit der Access Tabelle konform gehen
>Abfrage aus vorhandener Access Tabelle erstellt
>Union Abfrage wie folgt erstellt:
>Objekt Abfragen
>Neu
>Entwurfsansicht
>SQL-Code aus den beiden Abfragen in der SQL Ansicht eingefügt
Code:
SELECT Tabelle1.Name, Tabelle1.Vorname, Tabelle1.Adresse, Tabelle1.PLZ, Tabelle1.Ort, Tabelle1.Land
FROM Tabelle1;
UNION SELECT [Excel Tabelle].Name, [Excel Tabelle].Vorname, [Excel Tabelle].Straße, [Excel Tabelle].PLZ, [Excel Tabelle].Ort, [Excel Tabelle].Land
FROM [Excel Tabelle];

>Aus der Union Abfrage eine Abfrage „UNION ABFRAGE Gesamt“ erstellt, damit man auch mit der Entwurfsansicht arbeiten und je nach Bedarf auch nicht erforderliche Spalten ausblenden kann.

Ich hoffe, dass ich es einigermaßen verständlich rübergebracht habe, bei Fragen schreibe es.

Beispiel

Gruß

Paul1


Excel/Access 2003
...