Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Fehler bei CSV-Import
zurück: Mit Kombinationsfeld Textfelder füllen weiter: nach löschen eines DS, das Formular aktualisieren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
ghostX
VBA-Einsteiger, Excel-Kenner


Verfasst am:
23. Jul 2009, 13:45
Rufname:

Fehler bei CSV-Import - Fehler bei CSV-Import

Nach oben
       Version: Office XP (2002)

Hallo Leute,

habe ein Problem beim Importvorgang einer CSV-Datei. Der Filedialog erscheint und nachdem ich eine csv-Datei auswähle kommt folgende Fehlermeldung:
Zitat:
Objektvariable oder With-Blockvariable nicht festgelegt
So sieht mein Code aus:
Code:
Private Sub Befehl14_Click()
On Error GoTo Err_Meldung
    ' Definitionen
    Dim strDatei As String
    Dim oAppExcel As Object
    Dim rs As ADODB.Recordset
    Dim x As Long
    Dim rst1 As Recordset
    Dim lcltext As String
   
    Set rs = New ADODB.Recordset
    ' Exceldatei lesen und verarbeiten
    With Application.FileDialog(1)
        .InitialFileName = "c:\"
        .Title = "Dateiauswahl"
        .ButtonName = "Auswahl..."
        .Filters.Add "CSV-dateien", "*.csv", 1
        ' Open-Box
        If .Show = -1 Then
            ' Servicegroup prüfen
            If Servicegroup_vorhanden(oAppExcel.Range("A" & x)) = False Then
                ' nicht vorhanden - einfügen in Tabelle tblServicegroup
                lcltext = "INSERT INTO tblServicegroup " & _
                                 "(ServicegroupName) " & _
                          "VALUES ('" & oAppExcel.Range("A" & x) & "');"
                CurrentDb.Execute lcltext
            End If
            strDatei = .SelectedItems(1)
            Set oAppExcel = CreateObject("Excel.Application")
            oAppExcel.Workbooks.Open strDatei
            ' Exceldatei-Inhalt verarbeiten
            For x = 1 To 65500
                ' nur bis zum ersten Feld ohne Inhalt
                If oAppExcel.Range("A" & x) = "" Then
                    Exit For
                End If
                ' Classification prüfen
                If classification_vorhanden(oAppExcel.Range("B" & x)) Then
                    lcltext = "INSERT INTO tblClassification " & _
                                     "(ClassificationName) " & _
                              "VALUES ('" & oAppExcel.Range("B" & x) & "');"
                    CurrentDb.Execute lcltext
                End If
                ' Component prüfen
                If component_vorhanden(oAppExcel.Range("C" & x)) = True Then
                    lcltext = "INSERT INTO tblComponent (ComponentName) " & _
                              "VALUES ('" & oAppExcel.Range("C" & x) & "');"
                    CurrentDb.Execute lcltext
                End If
            Next x
            oAppExcel.ActiveWorkbook.Close
            oAppExcel.Quit
            Set oAppExcel = Nothing
          Else
            ' Open-Box Abbruch
            MsgBox "Es wurde keine Datei ausgewaehlt!"
            Exit Sub
        End If
    End With
Err_Exit:
    Exit Sub
Err_Meldung:
    MsgBox Err.Description
    Resume Err_Exit
End Sub

Private Function Servicegroup_vorhanden(Servicegroup As String) As Boolean
    Dim db         As DAO.Database
    Dim rst        As DAO.Recordset
    Dim Suchstring As String
   
    Set db = CurrentDb
    Set rst = db.OpenRecordset("tblServicegroup", dbOpenSnapshot)
    Suchstring = "ServicegroupName = '" & _
                   Me![Incident Organisation Creator Servicegroup Label] & "'"
    rst.FindFirst Suchstring
    If rst.NoMatch = True Then
        Servicegroup_vorhanden = False
      Else
        Servicegroup_vorhanden = True
    End If
    rst.Close
End Function

Private Function classification_vorhanden(ClassificationID As String) _
                                         As Boolean
    Dim db         As DAO.Database
    Dim rst        As DAO.Recordset
    Dim Suchstring As String
   
    Set db = CurrentDb
    Set rst = db.OpenRecordset("tblClassification", dbOpenSnapshot)
    Suchstring = "ClassificationName = '" & _
                                      Me![Incident Classification Label] & "'"
    rst.FindFirst Suchstring
    If rst.NoMatch = True Then
        classification_vorhanden = False
      Else
        classification_vorhanden = True
    End If
    rst.Close
End Function

Private Function component_vorhanden(ComponentID As String) As Boolean
    Dim db         As DAO.Database
    Dim rst        As DAO.Recordset
    Dim Suchstring As String
   
    Set db = CurrentDb
    Set rst = db.OpenRecordset("tblComponent", dbOpenSnapshot)
    Suchstring = "ComponentName = '" & Me![Incident Component Label] & "'"
    rst.FindFirst Suchstring
    If rst.NoMatch = True Then
        component_vorhanden = False
      Else
        component_vorhanden = True
    End If
    rst.Close
End Function
Hoffe einer weiß Rat.
kyron9000
Practitioner :)


Verfasst am:
26. Jul 2009, 13:02
Rufname:
Wohnort: Wien

AW: Fehler bei CSV-Import - AW: Fehler bei CSV-Import

Nach oben
       Version: Office XP (2002)

hi,

wenn du die csv vielleicht verknüpfen möchtest?

du klickst (rechte maustaste) in das leere weiße feld unter tabelle, dann auf "Tabellen verknüpfen…"
nun suchst den ordner deiner Exceltabelle (csv) gibst unter Datentyp "Text" unter
Dateinamen (einen Namen) an und klickst auf "Verknüpfen" - "Weiter" [Erste Zeile enthält Feldname] (anklicken!) -"Weiter"-"Weiter""Fertigstellen"-"OK" fertig.

dann brauchst nicht lang zu importieren, die aktualisiert sich von selber, wenn sich die daten in der csv ändern (name der csv muss aber gleich bleiben).

_________________
Gruß Alfred...

Es ist nicht immer alles so einfach wie es sich im Moment darstellt...
Mo1982
Im Profil kannst Du frei den Rang ändern


Verfasst am:
26. Jul 2009, 14:53
Rufname:


AW: Fehler bei CSV-Import - AW: Fehler bei CSV-Import

Nach oben
       Version: Office XP (2002)

Hi,

schieb die Zeile
Code:
    Set oAppExcel = CreateObject("Excel.Application")
mal weiter nach oben, bevor Du das erste Mal
Code:
    oAppExcel.Range("A" & x)
benutzt! Vielleicht hilft das schon weiter?!
_________________
Grüße,
Mo
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler 3761 1 Manni 108 1419 20. März 2008, 17:35
Master_Chief Fehler 3761
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler in Update: Fehler beim Kompilieren -> Methode n. g 1 Mindjogger 589 14. März 2008, 17:51
Mindjogger Fehler in Update: Fehler beim Kompilieren -> Methode n. g
Keine neuen Beiträge Access Tabellen & Abfragen: Oracle-Tablle einbinden - Reservierter Fehler (-7748); 4 PeterPan 4664 28. Feb 2008, 19:11
Nouba Oracle-Tablle einbinden - Reservierter Fehler (-7748);
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler abfangen, wenn Datenbank nicht da 5 bentakle 1106 08. Feb 2008, 12:50
Da Oansa Fehler abfangen, wenn Datenbank nicht da
Keine neuen Beiträge Access Tabellen & Abfragen: mehrere Kriterien abfragen - Fehler wenn kein Wert vorgegebe 5 tommy22 812 07. Nov 2007, 23:50
JörgG mehrere Kriterien abfragen - Fehler wenn kein Wert vorgegebe
Keine neuen Beiträge Access Tabellen & Abfragen: DB-Frage liefert Fehler: Falsche Anzahl an Argumenten 3 susi_777 1812 01. Nov 2007, 00:20
Nouba DB-Frage liefert Fehler: Falsche Anzahl an Argumenten
Keine neuen Beiträge Access Tabellen & Abfragen: Access - Fehler bei Unterformular und SQL LEFT JOIN 1 kontextfrei 1526 01. Okt 2007, 18:03
kontextfrei Access - Fehler bei Unterformular und SQL LEFT JOIN
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler bei Geburtstagsabfrage wenn kein Geburtsdatum erfasst 2 adamth 1014 11. Jun 2007, 22:18
adamth Fehler bei Geburtstagsabfrage wenn kein Geburtsdatum erfasst
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler in Löschabfrage!! 4 BorisDieKlinge 1623 12. Apr 2006, 13:17
BorisDieKlinge Fehler in Löschabfrage!!
Keine neuen Beiträge Access Tabellen & Abfragen: Übergabe eine Variable verursacht Fehler 2 blicki 714 16. Feb 2006, 10:42
blicki Übergabe eine Variable verursacht Fehler
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler 2001: Sie haben die vorherige Operation abgebrochen 11 lara123 8387 16. Nov 2005, 12:17
Willi Wipp Fehler 2001: Sie haben die vorherige Operation abgebrochen
Keine neuen Beiträge Access Tabellen & Abfragen: wo ist der fehler (sql) ? 4 Gast 913 26. Okt 2005, 17:59
jens05 wo ist der fehler (sql) ?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Word VBA