Thema Datum  Von Nutzer Rating
Antwort
07.02.2017 14:10:29 Steffen Müller
NotSolved
Blau Automatisierter VBA Einleseprozess
08.02.2017 22:11:27 BigBen
NotSolved
08.02.2017 22:13:10 BigBen
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
08.02.2017 22:11:27
Views:
556
Rating: Antwort:
  Ja
Thema:
Automatisierter VBA Einleseprozess

Hallo,

vielleicht hilft der folgende VBA-Code weiter?

Sub ImportExcelFile()
    Dim strXLSFilename As String
    Dim XLSApp As New Excel.Application
    Dim wbFile As Excel.Workbook
    Dim sh As Excel.Worksheet
    strXLSFilename = "L:\temp\ImportInAccess\Daten.xlsx"
    
    Dim strValue As String
    
    Set wbFile = XLSApp.Workbooks.Open(strXLSFilename)
        
    For Each sh In wbFile.Worksheets
        ' Standort auslesen
        strValue = sh.Range("A1").Value
        Debug.Print strValue
        InsertNewValue "Tab_Standorte", "Standort", strValue
        
        ' Material auslesen
        strValue = sh.Range("C5").Value
        Debug.Print strValue
        InsertNewValue "tab_Materialien", "Material", strValue
        
    Next
    wbFile.Close False
    XLSApp.Quit
End Sub

Sub InsertNewValue(strTable As String, strFieldname As String, strValue As String)
    Dim rst As Recordset
    Set rst = CurrentDb.OpenRecordset(strTable, dbOpenDynaset)
    rst.FindFirst (strFieldname & " = """ & strValue & """")
    If rst.NoMatch Then
        rst.AddNew
        rst.Fields(strFieldname) = strValue
        rst.Update
    End If
    rst.Close
End Sub

Dieser VBA-Ciode setzt voraus, dass in der Access-Datenbank die Tabellen tab_Standorte und Tab_Materialien existieren.

Tabelle: tab_Standort:
Felder: ID Autowert, Standort kurzer Text

Tabelle: tab_Materialien
Felder: ID Autowert, Material kurzer Text

Besonderheit: Im vba-Code wird vor dem hinzufügen eines neuen Eintrags geprüft, ob ein identischer Eintrag bereits vorhanden ist. Nur wenn der einzufügende Eintrag noch nicht enthalten ist, wird dieser angelegt.

LG, BigBen


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
07.02.2017 14:10:29 Steffen Müller
NotSolved
Blau Automatisierter VBA Einleseprozess
08.02.2017 22:11:27 BigBen
NotSolved
08.02.2017 22:13:10 BigBen
NotSolved