Office: (Office 2007) Excel Tabelle in Access importieren

Helfe beim Thema Excel Tabelle in Access importieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hey, leider bin ich mal kein VB Spezialist, daher kann mir vielleicht jemand den Code schreiben. Ich abrbeite mit Access 2007 und muss Täglich 10... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von boto, 7. April 2009.

  1. Excel Tabelle in Access importieren


    Hey, leider bin ich mal kein VB Spezialist, daher kann mir vielleicht jemand den Code schreiben.

    Ich abrbeite mit Access 2007 und muss Täglich 10 Tagesberichte (Teils Excel 2007 und auch 2003) in eine Access tabelle imortieren.

    Problem, in den Exel Tabellen (es sind alle identisch) ist die Tabelle1 (heißt jetzt Dateneingabe) das Blatt in dem die Mitarbeiter ihre EIntagungen machen.
    In tabelle2 (heißt jetzt Berechnungen) werden die daten so aufbereitet, dass sie in Access importiert werden können. 1.Zeile enthält Feldname usw... Also muss ich eben die Tabelle2 =Berechnngen nach Access importieren.

    Die Datei heißt jeden tag gleich Tagesbericht-Name.xlsx bzw. xls
    Wobei Name eine Variable ist, sprich es sind 10 dateien mit 10 unterschiedlcihen Namen.

    ich kann den Code auch 10 mal kopieren und an die jeweiligen namen anpassen. Die namen ändern sich ja nie.

    Nach dem Import soll an jede datei aber das aktuelle datum angehängt werden.... also so Tagesbericht-name-09-04-09.xlsx

    So, das wars im Groben...kann mir jemand helfen??

    Danke Gruß Boto

    Ach ja, eins noch...wenn ein Mitarbeiter seinen tagesbericht nicht geschickt hat, sollte eine meldung kommen, allerdings die weiteren berichte sollten trotzdem weiter importiert werden

    :)
     
  2. Hallo,

    willkommen im Forum.

    Ich muss ein bisschen nachfassen:

    Die 10 Dateien ändern ihre Namen nicht, richtig? Werden die also jeden Tag neu bestückt?

    Die 10 Dateien sind uniform aufgebaut, d.h. die Blatt- und Spaltenstruktur ist je gleich?

    Warum sind es ganau 10 Dateien? Sind nicht vielmehr alle Dateien gemeint, die im Quellordner liegen, seien es 8, 10 oder 193? Was ist also die "Erwartung" an die Anzahl der Dateien?

    Und hier:
    Hm, der Import überträgt doch Daten nach Access. Die Exceldateien sind danach eigentlich entbehlich. Was soll das Umbenennen? Und woher kommt das Datum; aktueller Tag?


    Und, nebenbei:
    Es ist keine Schande, Anfänger zu sein, aber die Formulierng ist fast schon unverschämt. Du kannst um Hilfe bitten, es selbst zu tun, und vielleicht schreibt einer hier den Code dazu. Aber so klingt es wie beim C&A: "hey, ich bin nackig, aber vielleicht kann mir einer ein paar Klamotten schenken".
     
    Atrus2711, 9. April 2009
    #2
  3. Hallo, ok es tut mir leid wegen der Formulierung...ich gelobe Besserung.

    Also, die Dateien ändern ihren Namen nie. jeden tag kommen die gleichen Tagesberichte, also gleinen dateinamen rein.

    DIe Blatt und Zellenstruktur ist immer die selbe. Jeder der Mitarbeiter nutzt die gleiche Vorlage.


    Die Zahl 10 kommt daher, dass derzeit 10 Mitarbeiter die tagesberichte schicken. Immer mit dem Dateinamen "Tagesbericht-" und dann dem nachnamen des Mitarbeiters. (z.B. Tagesbericht-Schulz.xlsx)
    Zu beachten wäre, dass es 2 oder 3 Mitarbeiter gibt, die noch ein älteres Office nutzen und daher die Endung xls senden.
    Es kann natürlich sein, dass es nächsten Monat nur noch 8 Mitarbeiter sind oder es können auch plötzlich 12 werden.

    Besten dank schon mal für die Hilfe..
     
  4. Excel Tabelle in Access importieren

    (1) Für die Kontrolle der Tagesberichte benötigst Du eine Mitarbeitertabelle in Verbindung mit einer 1:n verbundenen Tabelle, die die Importdatümer erhält, damit Du protokollieren kannst, welcher MA wann einen Bericht abgeliefert hat. Deine MsgBox wäre dann eine mögliche Auswertung dessen.

    (2) Das Importieren kannst Du in einer Schleife erledigen. Dabei bietet es sich an, bereits importierte Dateien in ein anderes Verzeichnis zu verschieben (ungetestet):
    Code:
    Mit diesem Ansatz (noch kein Fertigcode!) solltest Du ein Stück weiterkommen. Die offenen Baustellen kannst Du sicher selber bearbeiten. (Auch ich will Deinen Intellekt nicht beleidigen.)
     
  5. Das "täglich" ist abgesichert? (Wochenende, Feiertage, Stromausfall)

    Eine intelligentere Hinterlegung eines Datums ist die des Erzeugens der Daten, nicht die des Imports der Daten (wann immer das ist).
     
  6. Hallo Eberhard,

    danke erst mal für deine Hilfe. leider habe ich es nicht so hinbekommen.


    Private Sub Befehl3_Click()

    Dim sPfad As String
    Dim sName As String
    Dim sMA As String
    sPfad = "H:\Adarna\Tagesberichte\April 2009\" ' Pfad setzen.
    sName = Dir(sPfad & "Tagesbericht-Fulge.xlsx*") ' Ersten Eintrag abrufen.
    Do While sName > "" ' Schleife beginnen.
    Debug.Print sName ' Eintrag anzeigen

    ' Importvorgang starten, z.B. TransferSpreadsheet-Methode

    ' MA ermitteln
    sMA = Mid(sName, InStr(sName, "-") + 1, InStr(sName, ".") - InStr(sName, "-") - 1)
    Debug.Print sMA
    ' Bericht für MA protokollieren (Anfügeabfrage an Protokolltabelle)

    ' Datei verschieben und umbenennen
    Name sPfad & sName As sNeuerPfad & Replace(sName, ".", Format(Date, "yy-mm-dd") & ".")

    sName = Dir ' Nächsten Eintrag abrufen.
    Loop
    End Sub

    Ich habe kein Ahnung wo die Access Tabelle eingetragen werden soll
    Die Tabelle heißt bei mir "Tbl-Tagesberichte" dorthin soll alles importiert werden.
    In dem Pfad, den ich schon eingetragen habe ist nicht nur der Tagesbericht-Fulge.xlsx. sondern auch alle anderen, wo trage ich den nächsten Mitarbeiter ein(Tagesbericht-Wiegand.xlsx??
     
  7. Hi,

    bin zwar nicht Eberhard, aber dennoch:

    Der schiere Import mit Umbenennung/Verschiebung scheint ja nun zu klappen. Schön. Aber bisher bist du drauf angewiesen, dass die Mitarbeiter ihre Dateien rechtzeitig und normgemäß ablegen.

    Du hast aber bisher keine Möglichkeit zu erkennen, ob vielleicht Mitarbeiterdateien noch fehlen. Du importierst, was da ist, ohne zu prüfen, ob alles da ist, was da sein sollte. Dir fehlt die Erwartungshaltung: "10 sollten es sein, 8 sinds, wer fehlt denn da". Und diese Prüfung kannst du nur einleiten, wenn du die erwarteten (!) Mitarbeiter hast. Dazu empfiehlt sich eine Mitarbeitertabelle.

    Man kann dann einen von zwei Ansätzen verfolgen:
    • Dateibasiert: man importiert, was da ist, und führt ein Protokoll, wessen Dateien für welchen Tag importiert wurden. Das Protokoll verrät, wer dann nicht gemeldet hat. Vorteil: man erkennt auch Neulinge, die Dateien gemeldet haben, aber noch nicht in der Mitarebeitertabelle liegen.
    • Satzbasiert: man prüft, ob jeder Mitarbeiter "seine" Datei geliefert hat, und wenn ja, importiert man die. Wenn nicht, gibt es eine Meldung, dass da was fehlt. Es werden dann max. so viele Dateien importiert, wie Leute in der Tabelle stehen; es kann aber dann verwaiste Dateien geben, die "niemandem gehören".

    Letztlich ist das dann ein Abgleich zweier Mengen: Mitarbeiter (Tabelle) und Dateien, etwa nach folgendem Schema:
    Code:
    Die fehlenden oder überschüssigen Dateien bedürfen dann eine besonderen "Nacharbeit".

    Gruß
     
    Atrus2711, 14. April 2009
    #7
  8. Excel Tabelle in Access importieren

    Hallo Martin,

    Das was du schreibst hört sich echt super an, abe rich habe so keine Ahnung wie ich es umsetzten kann. Als Anfänger bin ich drauf angewiesen, dass ich vielleicht einen Code bekomme, den ich bei er Anwendung auch verstehen lernen kann. EIn paar kleine Codes bekomme ich schon hin, aber das hier ist noch zu koplex für mich...

    Vielleicht hat ja jemand Lust den Code zu schreiben, ich helfe dann auch gerne mal, in meinen Parade Disziplinen.

    Danke

    Boris
     
  9. Code kannst du haben. Aber noch vor dem Code kommt das Verstehen der Prinzips, also des Workflows.

    Ich habe noch keine Antwort, welches der beiden Verfahren du nehmen willst.

    Zudem ist auch noch unklar, ob und woher die Dateien einen "Berichtszeitraum" o.ä. nehmen sollen. Die Dateien liegen bereit, aber wenn die einen Zeitraum von-bis betreffen (was ich annehme), sollte der irgendwo erkennbar sein. Der Tag des Imports ist hingegen meist völlig egal.

    Wenn das z.B. Arbeitsnachweise sind, könnten die den Zeitraum in den Zellen A5 und A6 haben.
     
    Atrus2711, 14. April 2009
    #9
  10. Hey Martin,

    danke dass du mir helfen willst.

    Also der tagesbericht kommt von aktuell 10 Mitarbeitern, die in dem bericht ihre Ausendienstbesuche protokollieen. Sie heißen immer gleich "Tagesbericht-Name.xlsx oder xls. nach dem Iport in die DB, soll zu dem Excel File noch das datum hinzugefügt werden. Das ist für mich dann auch die Kontrolle, dass der datensatz importiert ist.
    Von den Verfahren hört sich die Dateibasierte ab besten an.
    Als Arbeitsnachweis dient die DB nicht.

    Wenn ich deine Frage richtig verstehe, meist du wie die Daten abgelegt sind oder werden.
    Also ich habe einen Ornder "Tagesberichte" darin dann die Monatsordner z.B.aktuell April In diesen April Ordner kopiere ich alle daten, die ich per mail von den Mitarbeitern erhalte.ALso am 1. April sollten 10 Excel Files im orner stehen. Nach erfolgreichem import, sollen die 10 Files mit dem importdatum versehen werden. (tagesbericht-Fulge-1-4-09.xlsx) DEr nächste import ignoriert natürlich alle Daten, die ein Datum haben. so habe ich alle datensätze des Monats in einem ordner stehen.

    Den import würde ich dann jeden tag manuell über einen button starten.

    Ich hoffe du verstehst was ich meine und ich hoffe ich habe deine Fragen beanntwortet.

    LG Boris
     
  11. Wie erkennst du am Dateinamen, für welchen Mitarbeiter und für welchen Zeitraum die Datei steht?

    Die Datei wird importiert und dann woandershin verschoben ("Archiv"). Damit ist sie hinreichend gegen Neuimport geschützt. Wozu die Umbenennung? Und der Importtag ist doch eigentlich völlig wurscht. Ich kann auch im November Daten für den April einspielen, z.B. weil ich ein paar Monate ausgefallen bin.

    Was soll mit Dateien passieren, "für die es keine Mitarbeitr gibt"? Wenn du also eine Atrus2711.xls hast, aber keinen passenden Namen in der Mitarbeitertabelle?

    Was passiert, wenn du zwei Leute mit gleichem Namen hast (zwei Meiers). Wie unterscheiden sich die Dateinamen dann?

    "Jeden Tag importieren": Was heißt jeden Tag? auch sonntags, Neujahr, Ostern? Ist nicht vielmehr relevant, dass für jeden Tag Dateien vorliegen?

    Ich habe selbst hier ein ähnliches Patent: mir werden arbeitstäglich Dateien geliefert, die eigentlich auch arbeitstäglich importiert werden. Wenn ich nun aber mal 1 Woche krank bin, passiert 1 Woche kein Import. Die Dateien liegen so lange rum. Beim nächsten Import werden dann halt die aufgelaufenen Tage auf einmal verarbeitet. So habe ich die ganze Woche (also Daten für jeden Tag) an einem Importtag verwurstet. Ist das bei dir auch so?
     
    Atrus2711, 14. April 2009
    #11
  12. Die Datumsangabe für die Daten sollten bereits die Exceldateien enthalten, in der Datei selber oder in der Dateibezeichnung - sinnvollerweise definiert und einfach auslesbar. Das ist für eine Protokollierung sinnvoll. Der Import kann/könnte zu einem ganz anderen Zeitpunkt erfolgen (Stromausfall, Erdbeben, Himmelfahrt), dabei könnten auch (theoretisch) mehrere Berichte eines Mitarbeiters im Stück eingelesen werden.
    Das Datum des Imports selber ist (wie schon mehrfach gesagt) wenig sagend und verzichtbar.

    Am besten, Du stellst mal einen Beispielbericht und eine Beispiel-DB mit den Zieltabellen (Office 2000 - lesbar) und unkritischen Daten ein.
    Anhänge in den Beiträgen

    Anmerkung: In einem Dateinamen ist eine Datumsformatierung in der Art "jj-mm-tt" günstiger - bei einem Blick ins Verzeichnis über den Windowsexplorer hat man sofort einen chronologischen Überblick.

    Füll das mal mit Inhalt.
     
  13. Excel Tabelle in Access importieren

    Also die Mitarbeiter können die Daten bo nenennen, wie ich es ihnen vorgebe. das Datum mit in den dateinamen einzubinden wära also unprobelmatisch, wenn es besser ist für den import. Der Dteiname enthält derzeit nur den namen des Mitarbeiters.
    daten gibt es natürlich nur an Werktagen und nur ich mache den import. Also wenn ich im Urlaub bin oder krank, werden die daten gesammelt und bei meiner Rückkehr dann importiert. Dies in einer Wurst zu tun wäre natürlich genial.
    Eine Datei eines Mitarbeiters, der nicht in der Liste steht kann nicht vorkommen, da alle Peronalangelegenheiten auch über mich gehen und ich neue Mitarbeiter gleich in der Tabelle anlegen werde. Wenn 2 Mitarbeiter den gleichen Namen haben, füge ich den ersten Buchstaben des Vornamens mit dazu (AMeier und SMeier)

    Ich habe einen Tagesbericht und einen Teil der DB mal angehängt
    In dem tagesbericht gibt es ein ausgeblendetes datenblatt, in dem die zu importierenden daten stehen.
     
  14. Du hast mehr Helfer, wenn du statt rars zips verwendest und für Demozwecke auf Office 2000 konvertierst. Ich habe hier kein Rar, und viele haben kein 2007.
     
    Atrus2711, 14. April 2009
    #14
  15. Gut, dann Vorschlag:
    Tagesbericht_JJJJMMTT_Nachname_Vorname.xls(x), also etwa Tagesbericht_20090414_Meier_Roland.xls

    Haben die Mitarbeiter Personalnummern oder sowas? Dann wäre es sogar sinnvoller, statt der Namen die Nummern anzugeben. Die sind eindeutig, während es ja mal zwei Leute namens "RMeier" geben kann. Im übrigen wäre es nicht einfach, aus RMeier fesrtzustellen, wo der Vorname aufhört und der Nachname anfängt.


    Natürlich ist gar nix. An Samstagen und Sonntagen könnte ja auch was passieren. Vielleicht nicht in der Telekombranche *Smilie

    "Ich gelobe feierlich, neue Mitarbeiter gleich anzulegen". Fein. Aber wenn doch "unbekannte" Dateien da liegen? Ignorieren? Melden? Importieren und Mitarbeiter anlegen?

    Fragen über Fragen, und das vor der ersten Zeile Code *Smilie
     
    Atrus2711, 14. April 2009
    #15
Thema:

Excel Tabelle in Access importieren

Die Seite wird geladen...
  1. Excel Tabelle in Access importieren - Similar Threads - Excel Tabelle Access

  2. Access Tabelle mit Excel Daten updaten

    in Microsoft Access Hilfe
    Access Tabelle mit Excel Daten updaten: Hallo zusammen, ich habe eine Excel Arbeitsmappe die ständig aktualisiert wird. Die Spaltennamen stimmen mit den Spaltennamen der Tabelle in Access überein. Jetzt möchte ich gerne einen VBA Code...
  3. Verknüpfte Excel Tabelle in Access Tabelle

    in Microsoft Access Hilfe
    Verknüpfte Excel Tabelle in Access Tabelle: Moin zusammen! Ich bin noch recht neu in Access und stehe gerade vor einem Problem. Folgende Situation: Ich habe eine Excel-Tabelle mit ca. 500 Datensätzen und 7 Spalten. Die Daten aus dieser...
  4. Excel Tabelle mit Access-Datenbank verknüpfen

    in Microsoft Excel Hilfe
    Excel Tabelle mit Access-Datenbank verknüpfen: Hallo, ich habe eine Frage. Wir müssen jedes Jahr in Berieben elektrische Geräte auf ihre Funktion prüfen. Bisher haben wir immer Excel-Tabellen per Hand ausgefüllt. Dies ist sehr mühselig. Nun...
  5. Excel Tabelle in Access importiert- über Button in Access Tabelle in Excel aktualisi.

    in Microsoft Access Hilfe
    Excel Tabelle in Access importiert- über Button in Access Tabelle in Excel aktualisi.: Hallo zusammen, ich habe eine Excel Tabelle in Access importiert. Nun möchte ich über einen Button in einem Formular die Tabelle in Excel aktualisieren. Nachdem die Aktualisierung in Excel...
  6. Import von Excel-Daten in Access-Tabelle

    in Microsoft Access Hilfe
    Import von Excel-Daten in Access-Tabelle: Hallo, um es gleich vorwegzunehmen, ich bin absoluter Amateur und hänge an folgendem Punkt: Ausgangspunkt: Ich muss einmalig (von Hand, es geht also nicht zwingend um ein VBA-Modul o.Ä., obwohl...
  7. Access Tabelle mit Excel bearbeiten

    in Microsoft Access Hilfe
    Access Tabelle mit Excel bearbeiten: Ich habe eine Access Datenbank, im Moment rufe ich mit Excel die Abfragen der DB ab und stelle sie dort als Tabelle da. Die Excel Datei kann ich dann immer Aktualisieren wenn in Access Daten dazu...
  8. Verwenden einer Sprachausgabe, um eine Access-Tabelle in eine Excel-Arbeitsmappe zu exportieren

    in Microsoft Access Tutorials
    Verwenden einer Sprachausgabe, um eine Access-Tabelle in eine Excel-Arbeitsmappe zu exportieren: Verwenden einer Sprachausgabe, um eine Access-Tabelle in eine Excel-Arbeitsmappe zu exportieren Access für Microsoft 365 Access 2019 Access 2016 Mehr... Weniger...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden