November 24, 2020, 06:48:27

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Hilfe! - Datenimport aus Ecxel zerstört DB-struktur

Begonnen von accsess_neuling, Februar 16, 2008, 14:22:08

⏪ vorheriges - nächstes ⏩

accsess_neuling

Hallo @ all!

Leider konnte ich bisher keine Lösung zu meinem Problem finden und hoffe dass einem Accsess-Neuling hier geholfen werden kann...

Als User habe ich täglich viele verschiedene Daten in ein einheitliches Import-Format für eine Anwendung zu bringen... Bisher ist mir das mit Excel noch gelungen... Leider ist der Umfang jetzt zu groß für Excel...

Also habe ich eine Datenbank(Tabelle) in Accsess erstellt. Jetzt das Probelm:
Wenn Daten aus einer Exceltabelle importiert werden sollen, wird immer zusätzlich ein ID-Feld erzeugt und dabei die jeweiligen Feldeinstellungen der Tabelle geändert.

Wie kann man das abstellen?! - Meine Datenbank braucht keinen Primärschlüßel, da ich am Ende nur Textdateien erzeugen will.

Einzelne Felder müssen unabhängig vom Inhalt immer die vorgegebene Größe haben. Bsp. Feld "Satzlänge" 5 Zeichen usw...

Ich hoffe mir kann geholfen werden - bevor ich "durchdrehe" ;D

DF6GL

Hallo,

tja, probieren können wir das ja...  Aber dazu sollte ich genauer wissen:

1) woher kommen die "vielen verschiedenen Daten" und welche Struktur haben die?
2) Wie importierst Du jetzt die Excel-Tabellen?
3) Welche Struktur haben die "Textdateien", die am Ende herauskommen sollen?
4) Wird "zwischendrin" mit oder an den Tabelleninhalten gearbeitet/modifiziert?

Feste Feldlängen gibt es in Access(-Tabellenfeldern)  zunächst mal nicht. Wenn feste Zeichenanzahl pro Feld (Zeichenlänge pro Feld) in der Export-Textdatei vorhanden sein müssen, dann muß man dieses beim Exportieren berücksichtigen/erledigen.

Insgesamt wäre also gut, einige Beispiele für die Daten und die Strukturen durchgängig und möglichst genau (Datentypen!) hier zu posten.


accsess_neuling

Hallo,

Wow, ich bin echt überrascht wie schnell man hier eine Antwort kriegt... Danke dafür.

Nun will ich versuchen Deine Fragen zu beantworten;
1. Die Daten werden mir entweder als Exceltebellenblätter oder als Textdateien zugeliefert.
Ich arbeite die Daten mit verschiedenen Formeln auf und erzeuge eine neues Tabellenblatt, Format Text.
Die Exceltabelle enthält alle Spaltenbezeichnungen die es auch in der Accssestabelle gibt, jedoch sind jeweils nur Werte in den Spalten enthalten, die sich ändern. Die restlichen konstanten Daten würde ich über eine Aktualisierungsabfrage einfügen.

2. Die Tabelle wird in Accsess über "Externe Daten importiern" importiert.

3. Die Daten sollen so aussehen: und müssen 1013 Zeichen lang sein.
01013BBBB290108MBS-GXZWW0108A.dta000000900000                                                                      H    20081428   111018605      8605                                 000000000000000000000000                 0000000152302001155  +00000080000EURGrund1                     Grund2                     1602200820800          160220080                          Mustername                                        86150     Musterort                          Musterstrasse                                                                                             KN  10260Feststeller           

Ich hoffe das hilft weiter...


                                                                                                                                                                                                                                                                                                                                 

DF6GL

Hallo,

mhmm, leider nicht sehr viel... Man müßte noch ein Beispiel des Excel-Sheets haben und die Bedeutung und Datentypen(!) der einzelnen Spalten wissen.


D. h. Du bringst alle Daten erst mal (händisch) in eine Excel-Tabelle, bearbeitest die irgendwie und hast dann in Excel eine Datenstruktur, die immer gleich bleibt aber veränderliche Daten besitzt.  Diese Daten sollen dann in eine Access-Tabelle importiert werden, die dann wertemäßig unverändert mit dem beschriebene Format in eine Text-Datei exportiert werden sollen.



Ich würde prinzipiell vorschlagen:

Erstelle eine Access-Tabelle im Tabellenentwurf mit allen Feldern und  passenden Datentypen.  Das Excel-Sheet wird im Datenbankfenster/Tabellen verknüpft(!) , nicht importiert.  Mit einer Anfügeabfrage werden die Daten aus der Excel-Tabelle gelesen und dann in die Access-Tabelle geschrieben. 

Der Export in eine Text-Datei ist anschließend  möglich mittels einer zu erstellenden Export-Spezifikation und der Methode "TransferText", oder aber (evtl bessser) per VBA-Routine, die die Zeilen nach der Format-Vorgabe zusammensetzt und in die Textdatei schreibt.