Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Exceltabelle in Access importieren

Frage Entwicklung VB for Applications

Mitglied: wydy

wydy (Level 1) - Jetzt verbinden

25.08.2009, aktualisiert 11:34 Uhr, 9260 Aufrufe, 3 Kommentare

Exceltabelle in Access importieren klappt nur teilweise

Moin Leute,
ich habe ein Funktion erstellt, mit welcher ich alle Daten aus einer Exceltabelle in eine neue Accesstabelle importiere. Der Import funktioniert auch. Es wird mir jedoch jedesmal eine Fehlertabelle erstellt mit dem Name Gesamt$_Importfehler und in dieser Tabelle steht dann:
Fehler Feld Zeile
Fehler bei Typumwandlung F2 123
Fehler bei Typumwandlung F2 124
Fehler bei Typumwandlung F2 125
Fehler bei Typumwandlung F2 126
Fehler bei Typumwandlung F2 127
Fehler bei Typumwandlung F2 128
Fehler bei Typumwandlung F2 129
...
In der importierten Tabelle wird die Spalte F2 jedesmal als Typ Datum/Uhrzeit angegeben, obwohl dort kein einziges Datum eingetragen ist. Deshalb wird ja dann auch die Tabelle Gesamt$_Importfehler erstellt. Wie kann ich den Fehler beheben? Die Spalte F2 ist zwar unwichtig, jedoch soll es nicht jedesmal eine neue Fehlertabelle erstellen. Beim nächsten aufruf wird ja dann die Tabelle Gesamt$_1Importfehler erstellt...
Hier noch der Quellcode
01.
Public Sub updatePlannung() 
02.
    Dim db As Database 
03.
 
04.
    Set db = CurrentDb 
05.
    CurrentDb.Execute "DROP TABLE tbl_importPlannung" 
06.
    'Set db = Nothing 
07.
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "tbl_importPlannung", "Plannung.xls", True, strRangeToImport 
08.
End Sub
Existiert die Tabelle tbl_importPlannung nicht, kommt eine Fehlermeldung, ist mir klar. Ich werde auch später kontrollieren ob die Tabelle vorhanden ist, bevor ich sie lösche. Aber ein Schritt nach dem anderen
Mitglied: Biber
26.08.2009 um 09:16 Uhr
Moin wydy,

In der importierten Tabelle wird die Spalte F2 jedesmal als Typ Datum/Uhrzeit angegeben, obwohl dort kein einziges Datum eingetragen ist.
....
Die Spalte F2 ist zwar unwichtig,

Da hätte ich aber noch ein oder zwei Rückfragen...

  • wiesó Spalte "F2"? Hat Deine tabelle doch keine Header= oder heißt die Spalte in der Importdatei wirklich "F2"?
  • was bedeutet "obwohl dort kein einziges Datum eingetragen ist"? Was ist denn eingetragen?
  • Wie ist denn die Spalte, die als "F2" ankommt, in Excel formatiert
  • Wenn gilt "Die Spalte F2 ist zwar unwichtig", warum übernimmst Du die denn überhaupt?
  • und letztendlich: Ist strRangeToImport denn undefiniert oder kommt da durh unsaubere Programmierung irgendwowo anders der Wert her (wenn ja: was)?
  • Haben Dein "Excel" und Dein "Access" denn auch einen Nachnamen bzw. eine Versionsnummer und falls Du unter XP agierst mit welchem SP?

Grüße
Biber
Bitte warten ..
Mitglied: wydy
26.08.2009 um 10:02 Uhr
Die Exceltabelle wurde leider nicht von mir erstellt. Die wurde in einem anderen Bereich erstellt und ich brauche einige Daten aus dieser Exceltabelle für meine Arbeit. Ich kann also an der Exceltabelle gar nichts verändern und da liegt leider auch das Problem.

Die Exceltabelle hat keinen Header und Access benennt deshalb die Spalten mit F1, F2.... Fx. Ich habe dies auch bereits in der Importfunktion geändert.
01.
acSpreadsheetTypeExcel9, "tbl_importPlannung", "Plannung.xls", False, strRangeToImport
In der Spalte ist eine Formel eingetragen, mit welcher kontrolliert wird ob das aktuelle Datum ein Feiertag ist oder nicht. Ist es kein Feiertag bleibt die Spalte leer, ist es ein Feiertag wird dieser dort eingetragen. Hier die Funktion in Excel: =WENN(ISTFEHLER(SVERWEIS(A14;Feiertage!$A$4:$C$54;1;FALSCH));"";SVERWEIS(A14;Feiertage!$A$4:$D$54;4;FALSCH))
Die Spalte ist in der Exceltabelle als Kategorie Standart markiert, falls du das meinst. Also Kontextmenu -> Zellen formatieren -> Zahlen -> Standart
Ich habe versucht die Spalte F2 nicht zu übernehmen und habe in der Funktion den Teil mit strRangeToImport geändert in A1:AF255;C1:AF255. Jedoch wurde die Eingabe so nicht akzeptiert. Ich konnte nur einen Bereich zum importieren angeben und nicht 2.
strRangeToImport ist undefiniert. Ich habe die Funktion "gegoogelt" und da hiess es, wenn alle Daten importiert werden sollen, werde dort eben strRangeToImport eingefügt.
Bitte warten ..
Mitglied: Biber
26.08.2009 um 11:31 Uhr
Moin wydy,

geändert in A1:AF255;C1:AF255. Jedoch wurde die Eingabe so nicht akzeptiert.
Wenn es Dich tröstet: Selbst die "richtige" Angabe A1:B255;C1:AF255 wäre abgelehnt worden.
Der Bereich muss (jedenfalls nach meinen Test) zusammenhängend sein.

Dennoch muss ja diese Information "Spalte F2 ist vom Typ Datum/Uhrzeit" irgendwo herkommen.
Wenn ich Dein Szenario nachstelle und eine Spalte mit per "=Wenn(Bedingung,""; andererWert)" füllen lasse, dann kommt diese Spalte bei Access als TEXT an.
Es sei denn, dummerweise sind ausgerechnet in den ersten 8 Zeilen mindestens 4 Werte, die ungleich "" (Leerstring) sind UND als Datum interpretiert werden.

Das kann aber nur sein, wenn die per SVerweis kopierten Felder
  • entweder im Sheet "Feiertage" als Datum formatiert sind
  • oder dort nicht, wie ich vermutet hätte, der Text "Tag der Arbeit" steht, sondern "1.Mai". Was wiederum Excel darum bringt, diesen String wieder als Datum aufzufassen.

--> Anyhow, die Ursache ist eigentlich nur sinnvoll in der Quell-Exceldatei abzustellen.
Ich würde mich mit den Kaspern Kollegen zusammensetzen und um etwas mehr Sorgfalt bzw. Datenstriktheit bitten.

Denn Du kannst diese Import-Unsauberkeiten nur mit Mehraufwand ausräumen.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...

Microsoft Office
gelöst Access 2016 installieren bei bestehenden Home and Business 2016 (4)

Frage von Huibuh2010 zum Thema Microsoft Office ...

Datenbanken
gelöst Access 2010 Filter zurücksetzen (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Microsoft Office
gelöst Nach Office 2010 SP2 Update - Kein Sharepoint export zu Access möglich (1)

Frage von paddl82 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...