Fehler bei Excelimport

23/09/2008 - 08:06 von Lupus Goebel | Report spam
Hallöschen,

arbeite mit Access 2000 auf WIN XP.


Damit
\\\
DoCmd.TransferSpreadsheet acImport, 0, "tblImport", strFile, True, ""
///

importiere ich eine Exceldatei. Die Exceldatei wird extern von
unterschiedlichen Personen erstellt. Die Ersten 5 Spalten sind bei allen
gleich, doch dann kommen unterschiedliche Spalten. Ich benötige jedoch
nur die ersten 5 Spalten.

Durch die unterschiedliche Spaltennamen bekomme ich bei jedem Import
versuch eine Fehlermeldung.

Wie kann ich die Exceldatei dennoch importieren, denn eine
Importspezifikation bei Excel habe ich nicht gefunden?



MfG - Lupus Goebel
Der Sumpf- und Morasthobbybastler und Anfaenger mit
Wissensdurst (http://www.lupusdw.de http://foto.lupusdw.de)
Meine private FAQ http://www.lupusdw.de/faq
 

Lesen sie die antworten

#1 Thomas Winkler
23/09/2008 - 08:35 | Warnen spam
Hi,

importiere ich eine Exceldatei. Die Exceldatei wird extern von
unterschiedlichen Personen erstellt. Die Ersten 5 Spalten sind bei allen
gleich, doch dann kommen unterschiedliche Spalten. Ich benötige jedoch
nur die ersten 5 Spalten.

Durch die unterschiedliche Spaltennamen bekomme ich bei jedem Import
versuch eine Fehlermeldung.

Wie kann ich die Exceldatei dennoch importieren, denn eine
Importspezifikation bei Excel habe ich nicht gefunden?



1. Möglichkeit:
==Du lieferst den entsprechenden Personen eine Leere Excel-Tabelle (nur
mit Spaltenköpfen), die diese benutzen müssen. Damit legst *Du* den
Aufbau der Datei fest und kannst eine Access-Importspezifikation (siehe
Suchmaschine Deiner Wahl) benutzen.

2. Möglichkeit:
==Wenn 1. nicht geht, aber nur eine geringe Anzahl an Variationen
existiert könntest Du soviele ImExSpecs wie Variationen erstellen und
bei jedem Import die entsprechende ImExSpec verwenden.

3. Möglichkeit:
==
IMHO sollte auch sowas gehen: SELECT * FROM
[C:\DeineExcelTabelle.xls!SheetName] (genaue Syntax siehe Suchmaschine).

Damit könntest Du Dir eine *Abfrage* in Access anlegen, die auf die
Excel-Tabelle zugreift. Mit dieser Abfrage kannst Du dann arbeiten, wie
mit Deiner ehemals importierten Tabelle.

4. Möglichkeit:
==Excel-Automation. Access holt sich die Daten selbst aus Excel ab und
generiert quasi Deine Access-Tabelle selbst.

<aircode>
dim appXL as Excel.Application
dim wbkXL as Excel.Workbook
dim shtXL as Excel.Worksheet

set appXL = CreateObject("Excel.Application")
set wbkXL = appXL.open("DeineDatei.xls")
set shtXL = wbk.worksheets("DeineTabelle")

'hier kommt der Code, der Die Daten aus Excel in Deine interne
Access-Tabelle übertràgt

Set shtXL = nothing
wbkxl.close false
set wbkXL = nothing
appxl.close
set appXL = nothing
</aircode>

BTW: Bei Beispiel 4 ist es empfehlenswert sich über "Late Binding" zu
informieren.

HTH

Thomas

"Access? Damit arbeite ich nicht. Das ist doch nur ein abgespecktes Excel."

Ähnliche fragen