Office: (Office 2007) Importfehler bei Excel-Import

Helfe beim Thema Importfehler bei Excel-Import in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Leute, ich habe ein großes Problem. Ich möchte verschiedene Excel-Tabellen (immer gleiche Struktur/Größe, nur andere Werte) automatisch in... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von bumerang, 27. März 2016.

  1. Importfehler bei Excel-Import


    Hallo Leute,

    ich habe ein großes Problem. Ich möchte verschiedene Excel-Tabellen (immer gleiche Struktur/Größe, nur andere Werte) automatisch in Access importieren können.
    Das Problem ist, dass in der ersten Spalte jeder Excel-Dateien sowohl reine Zahlenfolgen (z.B. 123545) und Zahlen-Buchstaben-Gemische (zB 1231423A) stehen. Da Access ja immer den Datentyp anhand des ersten Eintrags einer jeden Spalte bestimmt, gibt es also einen Importfehler, wenn eine reine Zahlenfolge der erste Eintrag ist.
    Ich habe mir gedacht, ich kann das umgehen, indem ich die Tabelle (selbe Größe!) bereits in Access habe und dann als Datentyp in der ersten Spalte Text setze, und so praktisch nur die Werte importiere.
    Aber: Sobald das erste Zahlen-Buchstaben-Gemisch nicht unter den ersten 9 Einträgen in dieser Spalte ist, bekomme ich trotzdem einen Importfehler.
    Hat jemand verständliche Lösungen und kann mir helfen?
    Vielen lieben Dank und liebe Grüße,
    bumerang

    :)
     
    bumerang, 27. März 2016
    #1
  2. Ich würde die Daten in eine bestehende Tabelle importieren.
    Und in dieser den Datentyp des ersten Felds auf Text festlegen.

    Das hast Du offensichtlich probiert.
    Keine Ahnung, warum da trotzdem ein Importfehler auftritt.

    Vielleicht ist ein Primärschlüssel definiert und es gibt doppelte Werte?

    Die Alternative wäre:
    Die Excel Datei als CSV abspeichern.
    Und dann diese Text-Datei importieren - dabei lässt sich eine Importspetifikation definieren (und speichern).
    Später kann diese in einer Automatisierung wieder verwendet werden.
     
    hcscherzer, 29. März 2016
    #2
  3. Hallo hcscherzer,

    Kann ich dir vielleicht die Datei mal schicken. Vielleicht siehst du den Fehler auch ganz schnell. Beziehungsweise vielleicht geht es auch bei dir?
    Wäre wirklich nett.
     
    bumerang, 29. März 2016
    #3
  4. Importfehler bei Excel-Import

    Nicht Datei schicken, sondern hier hochladen - dann können alle helfen, Hans-Christian (hcscherzer) ist vielleicht nicht immer online ...
     
  5. Gute Idee! Hier sind die Anhänge! Vielen Dank schon mal *Smilie
     
    bumerang, 29. März 2016
    #5
  6. Das passiert, sobald Jet auf die Exceltabelle zugreift, sowohl per Abfrage in irgendeiner Form als auch bei der TransferSpreadsheet-Methode, und zwar passiert da der Fehler, bevor man ihn abfangen kann.

    Ursache: Excel selber kennt keine Datentypen, sondern nur Formate. Eine Datenbanktablelle ihrerseits verlangt für ihre Felder klar eingestufte Datentypen. Daher wird in Excel eine bestimmte Anzahl an Zellinhalten in der Spalte analysiert und daraus der "resultierende" Datentyp ermittelt. Diese Anzahl, i.d.R. 8 Zeilen, wurde so festgesetzt, um die benötigte Zeit für die Datentypermittlung gering zu halten gegenüber einem vollständigen Scannen der ganzen Zeilen. Festgesetzt wird das durch einen Registry-Eintrag:
    TypeGuessRows unter HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel (Schlüsselname kann abweichen je nach Rechnerinstallation).

    Das ist übrigens auch ein Grund, warum man seine Daten vorher schon mal anschaut, ehe man und ob man den ungebremsten Standardimport (TransferSpreadsheet) aufruft

    Mögliche Maßnahmen:

    1) Ändern des TypeGuessRows-Wertes von 8 auf 0. Dann werden alle Zeilen gescannt. Diese Maßnahme ist aber insbesondere dann nicht empfehlenswert, wenn man seine Anwendung an Dritte weitergibt, da man dann solche Einstellungsänderungen als problematisch einstufen wird.

    2) Wie bereits vorgeschlagen: Abspeichern der Tabelle als CSV. Beim Import aus einer Textdatei kann und wird man innerhalb der Importspezifikation festlegen, wie die Spalten gelesen werden sollen. Also kann man da auch Text als Datentyp vorgeben und somit komplett importieren - und dann die Werte ggf. noch überarbeiten entsprechend eigener Anforderungen. Das wäre auch mein primärer Vorschlag.
    Manchmal kann man auch vorab wählen, ob man für einen Datenaustausch die Daten als XLS oder als CSV haben möchte. Da wäre dann gleich die CSV als Textdatei zu bevorzugen, eben weil man hier über die Spezifikation (ersatzweise über eine Schema.ini) datentypsicher und somit an der Stelle fehlerfrei und vollständig importieren kann.

    Desweilen wird auch empfohlen, zu Beginn einen DummyText-Eintrag zu setzen und diesen dann nach dem Import wieder zu entfernen. Ein weiterer Weg ist wohl, die betreffende Spalte vor Import komplett als Text zu formatieren.
     
  7. Hey vielen Dank für deine Hilfe!
    Das Ganze sollte schon automatisiert sein und an anderen PCs auch gehen. Folglich ist die manuelle Umstellung in der Registry nicht wirklich wünschenswert.
    Du sagst ein Import in eine bestehende Tabelle müsste funktionieren, wobei man die erste Spalte auf Datentyp Text setzt ? Warum funktioniert das dann bei mir nicht? *frown.gif*
     
    bumerang, 29. März 2016
    #7
  8. Importfehler bei Excel-Import

    Hallo,

    wie wär's mit Einbinden der Excel-Tabelle und Einfügen der Datensätze in die Zieltabelle mit einer Anfügeabfrage?
     
    MaggieMay, 29. März 2016
    #8
  9. Ich sagte, es wird teilweise empfohlen. Mache mich aber nicht haftbar dafür.

    Zweiter wesentlicher Hinweis nach Betrachtung der Exceltabelle (Achtung, das versteht nicht jeder):
    Abgesehen vom schon erkannten Problem ist diese Exceltabelle völlig ungeeignet für eine direkte Datenübernahme in eine Datenbanktabelle. Also erst einmal den Standardimport ausführen (wollen) wie auch immer und dann weiter gucken ist Unsinn:

    1) Deine Exceltabelle hat für alle Tage eines Jahres je eine Spalte, macht also etwa 365. Eine Datenbanktabelle unter Jet kann aber nur 256 Spalten haben (technisches Problem).

    2) Wenn man in eine Datenbank importiert, würde und sollte man anschließend auch die Daten datenbanklike verarbeiten. Dazu gehört als Basis, dass gleiche Werte in eine Spalte kommen, also dass Datenspalten mit gleichen Inhalten in Datenzeilen aufgelöst werden.

    Eine Zieltabelle würde also strukturell etwa so aussehen müssen:
    Wertdatum | Wert1 | Wert2 ?

    Jetzt beginnt schon ein weiteres Problem: Wofür stehen die Zahlenwerte?
    Davon abgeleitet: Wären das dann Spalten nebeneinander, oder sollte es pro Datum einen Zahlenwert und eine Kennung des Wertes als Datensatz geben, oder kämen gar (Stichwort Datenmodellierung) zu der einen Zieltabelle weitere Tabellen hinzu, in die dann die vorhandenen Daten aufzuteilen wären?

    Erste Aufgabe ist also, in der Datenbank ein geeignetes Datenmodell zu schaffen. Erst danach ist es vernünftig, sich Gedanken zu machen, wie man Daten von der einen Struktur (Excel) in die andere überführt - unter dem Vorbehalt, dass danach die Datenübernahme direkt, einfach, schnell und bestmöglich fehlerfrei erfolgen soll, und das dann natürlich automatisiert.
     
  10. Weil alleine in Excel mit der Umstellung auf Text nichts passiert. Da müssen noch in irgendeiner Form die betreffenden Zellen aktiviert werden um damit das neue Format zu "greifen".

    Stell doch in der Datenbank beim entsprechenden Feldnamen den Felddatentyp auf Text und importiere dann die Daten in die Tabelle.

    Dann geht es doch.

    Aber vorher würde ich mich um die Hinweise von ebs17 kümmern.

    mfg
    Roland
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    zra8886, 29. März 2016
    #10
  11. Hallo,

    der Import der ersten Spalte funktioniert so tatsächlich nicht, egal welchen Datentyp das Zielfeld hat, Excel beharrt weiterhin darauf, dass es eine Zahl sein müsste. Wenn du die Tabelle allerdings als csv speicherst, kann auch Text importiert werden, aber hier scheitert der Import (und zwar komplett!) an den 366 Spalten. Es muss also ein ganz anderer Weg gefunden werden, so wie Eberhard es schon angesprochen hat.

    Hierzu wäre es vielleicht hilfreich zu wissen, was die Daten zu bedeuten haben und wie bzw. wodurch sie entstehen.
     
    MaggieMay, 30. März 2016
    #11
  12. Hallo,

    zumindest solltest Du die Tabelle in Excel transponieren, um auf alle Daten in Access überhaupt Zugriff zu haben. Ideal wäre es, wenn Du Einfluß darauf nehmen könntest, dass so unschöne (in diesem Fall falsche) Daten wie 564M in einer Zahlenspalte in Erscheinung treten. Wie man weiter mit einer Verknüpfung der Daten vorgeht, hängt sicherlich vom Verwendungszweck ab.
     
  13. Importfehler bei Excel-Import

    Vielen Dank für eure Antworten!
    Ich würde gerne in Access mit VBA ein Excel Sheet (xls*) in eine csv-Datei konvertieren, diese verarbeiten und dann wieder löschen, also prakitsch eine temporäre Datei. Da ich nicht so viel Ahnung von VBA habe, wäre ich sehr verbunden, wenn jemand die Codes wüsste.
     
    bumerang, 30. März 2016
    #13
  14. Und wie gehst du mit den ganzen Hinweisen von Eberhard bezüglich
    a) zu viele Spalten - Access kann effektiv nur 256 (oder gar nur 255) Felder haben
    b) die Normalisierung der Tabelle(n)

    Du wirst damit so NIE in Access vernünftig arbeiten können. Komm von der Excel-Denke weg, wenn du mit Access arbeitest, das ist ein Relationales Datenbanksystem!
     
  15. es geht nicht (nur) um diese bestimmte Datei, sondern generell um automatisches Importieren von Excel-Sheets über VBA. Die Hinweise haben darauf hingedeutet, dass der Umweg über eine Konvertierung in CSV-Format sinnvoll ist. Mir ist klar, dass das in dieser Ausnahme (>255 Spalten) nicht funktioniert, aber trotzdem würde ich gerne wissen, wie man über VBA aus Access ein Excel-Sheet (.xls*) in eine CSV-Datei umwandelt.
     
    bumerang, 30. März 2016
    #15
Thema:

Importfehler bei Excel-Import

Die Seite wird geladen...
  1. Importfehler bei Excel-Import - Similar Threads - Importfehler Excel Import

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Hochzählen Zelle Excel oder Office365?

    in Microsoft Excel Hilfe
    Hochzählen Zelle Excel oder Office365?: Hallo zusammen Ich möchte im Excel eine Spalte mit den Schaltknopf hochzählen. Lokal funktioniert es einwandfrei, wie könnte ich es lösen da verschiedene Personen die gleiche Datei öffnen müssen,...
  4. Zugriff auf nicht vorhandene Datei seitens Excel

    in Microsoft Excel Hilfe
    Zugriff auf nicht vorhandene Datei seitens Excel: Hallo, wann immer ich in Excel Daten in eine Zelle gebe, dauert es ca. 1-2 Minuten, bevor Excel die weitere Bearbeitung freigibt. Unten links gibt es den Hinweis "Zugriff auf Datei erfolgt". Dies...
  5. pdf drucken mit button in excel einfügen

    in Microsoft Excel Hilfe
    pdf drucken mit button in excel einfügen: Guten Abend! Habe mit zahlreicher Unterstützung geschafft einen Button auf mein dritten Tabellenblatt einzufügen Funktion fähig. Nun brauche ich nochmals Hilfe. Ich will mittels des PDF Drucken...
  6. Excel icon fehlt

    in Microsoft Excel Hilfe
    Excel icon fehlt: Hallo zusammen ich habe das Icon aus Datei nicht um Daten abzurufen [ATTACH] was kann ich tun? bei Daten zusammenführen ist es vorhanden - ich möchte eigentlich alle Tabellenblätter in eine...
  7. Excel Tabellenblatt als PDF speichern unter Vorgabe Dateinamen aus einer Zelle

    in Microsoft Excel Hilfe
    Excel Tabellenblatt als PDF speichern unter Vorgabe Dateinamen aus einer Zelle: Hallo zusammen, ich möchte eine VBA Programmierung machen wie folgt. Das aktuelle Excel-Tabellenblatt soll als PDF Speicher unter, unter Vorgabe des Dateinamens der in Zelle A1 steht gespeichert...
  8. Importfehler, Fehler bei Typumwandlung

    in Microsoft Access Hilfe
    Importfehler, Fehler bei Typumwandlung: Hallo zusammen, aus einer txt-Datei importiere ich Daten, die durch Semikolon getrennt sind. Die Inhalte habe ich zur besseren Übersicht in eine Tabelle gebracht und die Problemdaten rot...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden