datenimport

Zoey

Mitglied
hallo zusammen!

ich hab da ein kleines mittlerweile ziemlich großes problem.
und zwar möchte ich eine csv bzw. txt-datei in access in eine tabelle importieren. dies habe ich mithilfe einer vba funktion gemacht, das problem besteht darin dass die daten zwar in die tabelle importiert aber nicht angezeigt werden. ich hab dann probiert die daten manuell zu importieren komme aber beim gleichen ergebnis raus

ich hoffe ihr könnt mir weiterhelfen, bin noch ein ziemlicher grünschnabel was vba und access betrifft.

mfg sarah
 
Erzähle mal ein bisschen mehr um was für Daten s sich da handelt und wie die Datei bzw. die Tabelle(n) aufgebaut sind.
 
es handelt sich um csv bzw txt dateien die importiert werden sollen. normalerweise gehe ich auf einem formular auf einem button, basierend auf einer vba funktion sollen die daten dann importiert werden. diese sieht folgendermaßen aus:

Private Sub NettowertImport_Click()

Dim fd As FileDialog 'Zeigt ein Dialogfeld an, in dem der Benutzer eine Datei auswählen kann
Dim vrtSelectedItems As Variant 'Einer Variant Variablen kann jeder Wert zugewiesen werden
Dim blnSave As Boolean 'Speichert Werte die nur True oder False sein können; also um Werte mit nur zwei möglichen Zuständen zu speichern (Ein/Aus; Wahr/Falsch;...)

Set fd = Application.FileDialog(msoFileDialogOpen) 'bewirkt das eine Messagebox beim Klick auf "SAP Daten Import" geöffnet wird'
MsgBox "Beachten: Die Daten können nur in Form einer Textdatei (*.txt/*.csv) importiert werden, nicht als Excel Dokument!"

DoCmd.RunSQL "Delete * from NettowertTabelle_current" 'Löscht alle Daten aus der Tabelle unwiderruflich bevor neue importiert werden
'Set fd = Application.FileDialog(msoFileDialogOpen) 'Die nächste MsgBox wird geöffnet, in der der Benutzer aufgefordert wird Dateien auszuwählen
MsgBox "Bitte wählen sie im nächsten Fenster die Datei aus"
fd.InitialFileName = Application.CurrentProject.Path & "\"
blnSave = fd.Show
For Each vrtSelectedItem In fd.SelectedItems

DoCmd.TransferText acImportDelim, _
"NettowertSpezifikation", _
"NettowertTabelle_current", _
vrtSelectedItem, True

MsgBox "Sie haben Daten aus folgender Datei Importiert: " & vrtSelectedItem 'In dieser MsgBox wird der Pfad angezeigt, aus dem die Daten importiert wurden

Next vrtSelectedItem
Set fd = Nothing


End Sub


wenn ich dies über die funktion laufen lasse dann kommt ein importfehler - fehler bei der typumwandlung - einige spalten kann access dann irgendwie nicht erkennen.

wenn ich das ganze manuell mache, dann werden die daten zwar in die entsprechenden tabellen importiert allerdings sind sie quasi unsichtbar, es wird zwar angezeigt das daten vorhanden sind aber ich kann diese nicht sehen.

danke im voraus für deine hilfe:)
 
ich habe es jetzt geschafft das die daten importiert werden, allerdings funktioniert das nur manuell. mit der funktion ist es immer noch so, das die tabellen zwar daten enthalten aber diese nicht zu sehen sind
 
Zuerst nochmal 2 Fragen:
- Um welche Access Version handelt es sich?
- Kannst du die Datenbank und (zumindst einen Auszug) der Importdatei hier einstellen?

Ich selber habe "nur" Office 2000 wenn du es hier einstellen knasst und mit einer neueren Version arbeitest, dann müstest du es bitte eine kopie der DB im 2000-er Format speichern.

Ansonsten vergleiche die einzelnen Felder deiner Tabelle(n) mit den Werten der Importdatei. Vielleicht steht da etwas als Text drin das du als Zahl belegt hast oder es ist ein Textfeld das zu kurz ist.
 
Hallo Tombe,
danke für Deine Hilfe. Ich hab grade zwei Arbeitskollegen hier gehabt die sich das auch mal angeguckt haben. Der Fehler lag in der Importspezifikation. das problem ist also gottseidank gelöst:) nochmals danke das du dir zeit genommen hast:)
mfg
 

Neue Beiträge

Zurück