Office: (Office 2003) TXT-Datei automatisiert importieren

Helfe beim Thema TXT-Datei automatisiert importieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe eine Access Datenbank und zudem eine Textdatei (enthält keine Überschriften). In der Textdatei werden die Daten durch ~ voneinander... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von User, 8. Januar 2011.

  1. TXT-Datei automatisiert importieren


    Hallo,

    ich habe eine Access Datenbank und zudem eine Textdatei (enthält keine Überschriften).
    In der Textdatei werden die Daten durch ~ voneinander getrennt.

    Wenn der erste Anwender am Tag die Datenabnk öffnet, soll automatisch die TXT importiert werden.

    Wie kann ich das bewerkstelligen? Leider kenne ich mich mit VBA so gut wie gar nicht aus. Nur aus der Schule noch ein paar Brocken.

    Ich denke man müsste bei jedem Aufruf der Datenbank das Datum der Tabelle XYZ (aus der Datenbank) auslesen. Wenn das Datum älter als heute ist, dann soll der Import der TXT starten.
    Könnt Ihr mir bitte sagen wie ich das in VBA ausdrücken muss und an welcher Stelle ich den Code einfügen muss?
    Danke sehr im voraus. Grüße

    :)
     
  2. Das Forum hat eine Suchfunktion, bitte nutze sie.
     
  3. Wenn du im Forum nach "TransferText" suchst, wirst du schon eine ganze Menge Hinweise und Beispiele finden. Bei konkreteren Fragen dann gern wieder melden *wink.gif* .
    maike
     
  4. TXT-Datei automatisiert importieren

    Hallo!

    Um Deine Routine bei jedem Start der Datenbank ablaufen zu lassen, kannst Du in den Start-Eigenschaften ein Formular definieren. In das Form-Load-Ereignis dieses Formulars fügst Du dann den Code ein, der ggfs. den Import durchführt.

    Vielleicht kannst Du Dich schon mal ein wenig auf logischer Ebene dem Problem nähern:
    1. Datum des letzten Imports aus Tabelle ermitteln
    2. Vergleichen mit Tagesdatum
    3. Wenn Letzter Import = heute dann Prozedur verlassen
    4. Sonst Daten importieren
    5. Und dam Ende das Datum des letzten Imports speichern

    Wenn Du das jetzt Stück für Stück ausprogrammierst, solltest Du zum Ziel kommen. Sollte es dabei konkrete Porbleme geben - Du weißt, wo Du uns findest. *wink.gif*

    CU
     
    Thomas Möller, 10. Januar 2011
    #4
  5. Folgendes habe ich mir mal zusammengesucht. Leider kann ich es noch nicht funktionierend zusammensetzen:

    1.)
    2.+3.)
    Bei dem Import der TXT komme ich nicht weiter. Es soll die bestehende Tabelle in Access ersetzt werden. Es müsste doch auch gehen das die IF Funktion ein Makro startet mit TransferText? Wie gebe ich dem Makro denn die Spaltenüberschriften mit?
    Danke im voraus.
     
  6. Hallo,

    ich würde das Datum des letzten Imports in einer extra dafür angelegten Tabelle speichern. Um diesen Wert dann wieder auszulesen kanst Du die Funktion DLOOKUP verwenden.

    CU
     
    Thomas Möller, 10. Januar 2011
    #6
  7. Hallo
    Importieren und dann sofort löschen stellt sicher, dass nur die neuesten Daten importiert werden. Die Daten an eine vorbereitete Tabelle anhängen.
     
  8. TXT-Datei automatisiert importieren

    Ich habe den Code soweit erstellt wie es mir sinnvoll erscheint. Leider funktioniert es nicht. Was habe ich falsch gemacht? Sicherlich eine Menge. *frown.gif*

    Code:
     
  9. Hallo
    Ich benötige von dir folgendend Informationen.
    Name der TXT Datei, bzw ändert er sich.
    Felder die importiert werden sollen
    Tabellenstruktur der Tabelle in die Importiert sind.
    Zu deinem Code fällt mir nur ein:
    *Smilie Warum einfach, wenns auch kompliziert geht. *Smilie
     
  10. Hallo!

    Leg Dir in Deiner Datenbank mal eine zusätzliche Tabelle an. Diese nennst Du tbl_Import. Darin fügst Du ein Feld vom Datentyp Datum/Zeit ein. Dieses Feld nennst Du DatumImport.

    In Deinem Code kannst Du jetzt das Datum des letzten Import wie folgt ermitteln:

    Code:
    Damit dieser Code funktioniert musst Du beim ersten mal manuell ein Datum in das Feld eintragen.

    Nimm diesen Code-Brocken bitte als Anfang und versuche Dich dann weiter vorzuarbeiten.

    HTH
     
    Thomas Möller, 11. Januar 2011
    #10
  11. Ich habe den Code nochmal überarbeitet. Ich habe ein funktionierendes Makro erstellt und dieses in VBA konvertiert. Ich verwende eine zuvor erstellte Importspezifikation.
    Wieso haltet ihr es für besser einen DLOOPUP einzubauen? Ich hatte vor, das Erstelldatum der Tabelle in Access auszulesen und mit dem aktuellen Datum zu vergleichen und ggf. die TXT importieren.

    Code:
     
  12. Hallo!

    Mal eine ganz andere Frage: Was machst Du eignetlich mit den Daten aus der Textdatei? Werden diese Bearbeitet? Oder stehen sie nur zur Anzeige zur Verfügung?

    Ich frage mich gerade, ob es nicht ausreichend ist, wenn Du diw Textdatei, die immer den gleichen Namen zu haben scheint, einfach einmalig (mit Hilfe Deiner Importspezifikation) als Tabelle nach Access verknüpfst. Du sparst Dir so nicht nur die Arbeit den Code zu schreiben, Du entlastest auch Deine Datenbank, weil Du nicht jeden Tag eine Tabelle löscht und eine neue anlegst.

    CU
     
    Thomas Möller, 12. Januar 2011
    #12
  13. TXT-Datei automatisiert importieren

    Die Datei ist ca. 50 MB groß mit knapp 70000 Datensätzen. Die Daten dienen nur zu Informationszwecken. Es gibt auch Abfragen die sich auf die Daten beziehen. Es werden in der importierten Tabelle keine Daten eingegeben.

    Ich habe schon versucht die Datei lediglich zu verknüpfen. Nur kann dann leider immer nur ein Benutzer auf die Datenbank bzw. Formulare zugreifen.

    Sinnvoll wäre es auch, im Code nach dem Importieren eine Komprimierung anzustoßen.

    Durch den Import der TXT-Datei wächst die Datenbank von 5 auf ca. 100 MB.
     
  14. Um das aufblähen zu verhindern/minimieren, wäre es besser nicht immer wieder ein bestehendes Tabellenobjekt zu löschen und in identischer Form neu anzulegen.
    Besser ist es, nur die Daten zu bewegen; sprich den Inhalt der Tabelle zu löschen (DELETE * FROM TableX) und die neuen Daten per Anfügeabfrage (INSERT INTO...) in die bestehende Tabelle einzutragen.

    In Kombination mit dem vorgeschlagenem Verknüpfen der Textdatei könnte das so aussehen:
    - externe Textdatei als Tabelle verknüpfen
    - zusätzliche Tabelle anlegen welche die Daten enthalten wird
    - Löschabfrage auf diese Tabelle
    - Anfügeabfrage die sich die Daten aus der verknüpften Textdatei ausliest und in die neue Tabelle schreibt

    Dafür bräuchtest Du theoretisch nicht eine Zeile Code sondern es wäre alles über Abfragen (und somit (schnelles!) SQL) lösbar.
    Die Abfragen könnten natürlich automatisiert per Code ausgeführt werden.
     
    CptChaos, 12. Januar 2011
    #14
  15. Danke für den Tipp.

    Trotzdem muss ich noch im VBA Code eine Abfrage einbauen, ob die Daten schon aktualisiert wurden oder nicht. Hierbei komme ich leider nicht weiter.
    Könnt Ihr mir bitte kurzfristig helfen? Ich benötige die Lösung relativ schnell. Mein Chef macht Druck ;-)
    Edit: Bei jeder Ausführung der Abfragen kommen Meldungen die ich bestätigen muss. Kann man diese unterdrücken?
    [ Code:
     
Thema:

TXT-Datei automatisiert importieren

Die Seite wird geladen...
  1. TXT-Datei automatisiert importieren - Similar Threads - Datei automatisiert importieren

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Zugriff auf nicht vorhandene Datei seitens Excel

    in Microsoft Excel Hilfe
    Zugriff auf nicht vorhandene Datei seitens Excel: Hallo, wann immer ich in Excel Daten in eine Zelle gebe, dauert es ca. 1-2 Minuten, bevor Excel die weitere Bearbeitung freigibt. Unten links gibt es den Hinweis "Zugriff auf Datei erfolgt". Dies...
  4. Makro öffnet unerwartete Datei

    in Microsoft Excel Hilfe
    Makro öffnet unerwartete Datei: Hallo Forum, ich brächte euer Schwarmwissen. Arbeite mit Excel eine Auftragsbearbeitung. Dort habe ich mir einen Button mit Makro erstellt und nutze diesen schon lange. Das Makro generiert ein...
  5. Große Textdatei - Formate entschlacken

    in Microsoft Word Hilfe
    Große Textdatei - Formate entschlacken: Hallo, ich arbeite seit längerem mit einer ziemlich großen Datei (mittlerweile 2000 Seiten), die sozusagen mein Zettelkasten ist. Alles ist leicht auffindbar durch Überschriften (2 Ebenen) und...
  6. Word 2000-Datei beschädigt?

    in Microsoft Word Hilfe
    Word 2000-Datei beschädigt?: Mein Problem: Obwohl sich das Dokument (drei Seiten mit einigen Tabellen) vorher problemlos schließen ließ (ohne Änderung im Text), verlangt Word jetzt beim Schließen immer wieder die...
  7. Frage: Terminplanung aus Excel - Termine in outlook automatisiert versenden?

    in Microsoft Excel Hilfe
    Frage: Terminplanung aus Excel - Termine in outlook automatisiert versenden?: Hallo an alle, regelmäßig muß ich eine ziemlich umfangreiche Terminplanung erstellen und nutze dabei Excel. Die Datei ist so aufgebaut: <tbody> Name email Datum1 Datum2 Aa aa@test.de j n Bb...
  8. automatisierte Übersicht in Excel aus einzelnen Dateien

    in Microsoft Excel Hilfe
    automatisierte Übersicht in Excel aus einzelnen Dateien: Hallo zusammen! Ich würde gerne in Excel (2007) eine Liste erstellen, die sich selbständig automatisiert: Ich habe leider keine Idee, wie ich hier automatisch Dateinamen reinziehen lasse....
  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