Office: (Office 2003) Datum aus Tabellenfeld (Text) in Datum, mittel konvertieren

Helfe beim Thema Datum aus Tabellenfeld (Text) in Datum, mittel konvertieren in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Guten Morgen allerseits, ich hänge wieder mal vor einem Problem und kann im kompletten Netz nix passendes finden. :/ Entweder gibt nix oder bin doch... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von oliver_drako, 12. September 2012.

  1. Datum aus Tabellenfeld (Text) in Datum, mittel konvertieren


    Guten Morgen allerseits,

    ich hänge wieder mal vor einem Problem und kann im kompletten Netz nix passendes finden. :/ Entweder gibt nix oder bin doch einfach nur zur blöd zum suchen. -.-

    Folgender Sachverhalt:

    Aus einer CSV-Datei importiere ich die Daten in eine Tabelle über die TransferText-Funktion mit VBA. Dieses klappt auch wunderbar und er schreibt mir alle Daten in die Tabelle. Allerdings sind alle Felder als Text deklariert.
    Auch das betroffene Feld (Datum 2) wird als solches festgelegt.

    In diesem Feld kommen bisher 2 Arten von Datumsformaten vor, zb. 03. Juni 12 und 25-MAY-11. Es können aber auch andere Formate möglich sein.

    Eine Frage ist nun, ob man Access sagen kann, dass er diese Formate erkennt und entsprechend vereinheitlicht nach xx. monat jjjj.

    Ich habe schon versucht in der Importpezifikation das Format festzulegen, als auch in der Tabelle. Stelle ich beides ein, dann übernimmt er den Feldinhalt nicht und wenn ich in der Tabelle das Format einstelle, dann übernimmt er nur das eingestellte Format und verwirft die Inhalte der anderen Formate.

    Für mich stellt sich jetzt ebenso die Frage ob mein Vorhaben in irgendeiner Weise realisierbar ist und hoffe, dass mir vllt einer nen Denkanstoß, Hinweis oder gar die Lösung erklären kann. ^^

    Ach so, das Format lässt sich leider nicht in der CSV-Datei ändern, da diese ein Exportdatei ist, aus einer international verwendeten Datenbank. :/

    Sry, für die Wall of Text. Hoffe das Problem ist einigermaßen gut beschrieben.

    greetz

    oliver

    :)
     
    oliver_drako, 12. September 2012
    #1
  2. Moin Oliver,

    Du versuchst ein Problem mit Access zu lösen, an dem schon die Basis nicht passt.
    Sage demjenigen, der deine csv erstellt, dass er ein einheitliches Format übergeben soll und das Problem ist gelöst.
    Das Übel an der Wurzel packen und nicht in der Baumkrone.

    Grüße
    Roland
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  3. Guten Morgen Roland,

    das ist mir bewusst und eigentlich auch logisch. Dennoch ist der Sachverhalt, dass ich mit dieser Art von Daten arbeiten MUSS (-.-) und entsprechend eine Lösung finden soll, das Format einheitlich zu bekommen.

    Lassen wir mal die Diskussion über den Sinn außen vor.

    Ist es möglich das zu realisieren? Wenn ja, mit welcher Methode am einfachsten?

    greetz

    oliver
     
    oliver_drako, 13. September 2012
    #3
  4. Datum aus Tabellenfeld (Text) in Datum, mittel konvertieren

    Hallo Oliver,

    du könntest es mal mit der CDate()-Methode versuchen. Diese erkennt einige Datumsformate recht zuverlässig. Allerdings habe ich noch nie getestet, wie es sich mit einer Mischung aus Deutsch, Englisch, ausgeschrieben, abgekürzt usw. verhält.

    Ansonsten bleibt dir immer noch die Möglichkeit, einen eigenen Parser für das Datum zu programmieren.

    Viele Grüße,
    Stefan
     
  5. Hallo,
    hier ist nach meiner Meinung eine eigene Funktion zu erstellen.
    Aber dazu muss erst mal festgestellt werden welche Datumsformate überhaupt vorkommen können, die pauschale Aussage
    nutzt da nix.
    Die Funktion analysiert den Textstring und baut dann ein korrektes Datum zusammen.
     
    gpswanderer, 13. September 2012
    #5
  6. Hallo Oliver,
    Über Excel würde ich das machen:
    http://www.ms-office-forum.net/forum...d.php?t=292589

    Schau es dir mal an. Das könnte dir helfen.

    Grüße
    Roland
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  7. Danke erstmal für die rege Rückmeldung. *Smilie

    Nach Analyse und Rücksprache hat sich rausgestellt, dass meine beiden genannten Formate zu 99% der Fälle zutrifft. Also schließe ich andere Datumsformate einfach mal aus.



    Daran arbeite ich gerade und versuche mir also nen eigenen Parser zu basteln. ^^ Als Laie bzw. Anfänger ne harte Nuss, aber man wächst ja an seinen Aufgaben. *Smilie

    @roland: Ich werde mir dies auch mal durchlesen. Vllt kann ich damit auch etwas anfangen, allerdings sehe ich, dass es sich dabei um Excel handelt und die User später nichts an der CSV-Datei ändern werden. Sondern einfach nur auswählen und importieren.

    Nochmal danke für die Hilfe bis dato. *Smilie

    greetz
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    oliver_drako, 13. September 2012
    #7
  8. Datum aus Tabellenfeld (Text) in Datum, mittel konvertieren

    Sooooooo, *Smilie

    hab jetzt mal nen groben Code erstellt, der in einem Hilfsformular im Moment wie gewollt funktioniert. ^^

    Will euch den Code mal vorab präsentieren, damit ihr seht, dass eure Hilfe mich auf den richtigen Weg gebracht hat. *wink.gif*

    Habe mit einem InStr() gearbeitet und dort das 3. Zeichen überprüft, welches IMMER entweder Punkt oder Minus ist.

    Im Moment wird alles noch über einen Button gesteuert und über das Formular. Im späteren werde ich versuchen die Funktion/den Code im Hintergrund direkt auf die Tabelle anzuwenden. Aber so weit bin ich noch nicht. ^^

    Hier mal der Code und wünsche euch allen ein schönes WE. *Smilie

    Code:
    Verbesserungen und Anregungen werden gerne entgegen genommen. *Smilie

    greetz

    oliver
     
    oliver_drako, 14. September 2012
    #8
  9. Hallo,

    ich hätte da folgende Alternative für dich: Code:
    Einsetzen kannst du das aus dem Formular heraus: Code:
    oder in einer Aktualisierungsabfrage: Code:
     
    Anne Berg, 14. September 2012
    #9
  10. Hallo,
    ich habe mich mal an einem Einzeiler versucht. *grins
    Code:
    Das gezeigte deutsche Format (03. Juni 12)muss gar nicht geprüft werden. Und der Bindestrich im US Format kann auch bleiben. Access ist da sehr kulant.
    Habe es getestet, was nicht heist, dass es fehlerfrei funktioniert. Daher bitte ich noch um weitere Tests. Aber natürlich nur für gezeigten 2 Formatversionen, die ja laut TE reichen sollen. Das gewünschte Format "Mittel" kann über die Formateinstellung erreicht werden und muss in der Funktion nicht berücksichtigt werden. Das Datum ist eh immer eine Zahl.

    Im nachfolgenden Bild wird alles korrekt umgesetzt.
    Mit Komma, Slash, Leerzeichen usw. ich bin selbst verblüfft.
     
    gpswanderer, 14. September 2012
    #10
  11. Hallo
    @Klaus

    supper in etwa würde ich es auch machen
    aber muss da nicht noch ein Monat mehr konvertiert werden?
    z.B. so:
    CDate(Replace(Replace(Replace(Replace(AltDate, "May", "Mai"), _
    "Mar", "Mrz"), _
    "Oct", "Okt"), _
    "Dec", "Dez"))

    und 8ung!
    z.B. 31.Jun.12 geht nicht da kein gültiges Datum
    auch 30/feb/2012 geht nicht
    und zweischen dd mmm yy muss ein gültiges trenzeichen sein ".", "/", "-" oder ein leerschlag

    ohne Trennzeichen zwischen MMM und YY und ohne Jahr
    z.B. "15.sep " gibt Akt. Jahr also "15.09.2012"
     
    Lanz Rudolf, 14. September 2012
    #11
  12. Hallo,
    vielen Dank Ruedi für den Hinweis, den Dec (Dez) habe ich glatt vergessen.
    Hier die korrigierte Version:
    Code:
     
    gpswanderer, 14. September 2012
    #12
  13. Datum aus Tabellenfeld (Text) in Datum, mittel konvertieren

    Guten MOrgen zusammen, *Smilie

    danke für die weiteren Codes. Sind doch um einiges, vor allem der Einzeiler, kürzer und nicht ganz so unübersichtlich wie meiner. ^^

    Ich versuche gerade den Einzeiler auf nen Button zu legen, aber iwie tut sich bei mir nix, wie bei dir Klaus. :/

    Hab ihm das TExtfeld, des alten DAtums übergeben, aber ohne Erfolg. Ich hab bestimmt nen Leichtsinnsfehler drin. Ist wohl noch zu früh am Morgen nachem WE.

    Aber so müsste es doch eigentlich stimmen, oder?

    Code:
    Ich hab deine Funktion wie im POst übernommen.

    Oder kann es doch sein, dass er die Funktion nicht frisst?

    greetz

    oliver
     
    oliver_drako, 16. September 2012
    #13
  14. Hallo,

    wo befindet sich der Code der Function und wie sieht er aus? Mit einem Aufruf per Call passiert ja noch nichts...
    So macht es schon eher Sinn: Code:
     
    Anne Berg, 16. September 2012
    #14
  15. Der Code befindet sich in der Ereignisprozedur des Formulars und sieht so aus:

    Code:
    hm, stimmt. -.- Hätte ich auch selbst drauf kommen können. Hätte doch noch ne h oder 2 länger schlafen sollen. XD DAnke dir. *Smilie


    EDIT:

    Also, auch mit ner Direktzuweisung passiert nichts. Habe es so realisiert:
    Code:
    greetz
     
    oliver_drako, 16. September 2012
    #15
Thema:

Datum aus Tabellenfeld (Text) in Datum, mittel konvertieren

Die Seite wird geladen...
  1. Datum aus Tabellenfeld (Text) in Datum, mittel konvertieren - Similar Threads - Datum Tabellenfeld Text

  2. Serienbrief, Datum plus 7 Tage

    in Microsoft Word Hilfe
    Serienbrief, Datum plus 7 Tage: Hallo, ich wollte gerne in meinem Serienbrief um eine Rückantwort mit Datum bitten. Die Rückantwort soll 7 Tage nach dem aktuellen Datum erfolgen. Ich habe dazu folgendes gemacht: [ATTACH] Mein...
  3. letztes Datum finden

    in Microsoft Excel Hilfe
    letztes Datum finden: Hallo Leute, hab jetzt vergebens die KI bemüht mir eine einfache Formel zu erstellen.o_O Jetzt frag ich einfach mal hier da es ja meist besser funzt.*:)* Also: ich hab ne Tabelle in der ich in...
  4. Datum Suchen

    in Microsoft Excel Hilfe
    Datum Suchen: Hallo! Situation: In einem Formular wird ein Name einer Produktionsmaschine eingetragen. In einem anderem Textfeld steht das Lieferdatum. Bei klicken auf "Speichern" wird das Lieferdatum...
  5. Aktuelles Datum und Uhrzeit in Formular

    in Microsoft Word Hilfe
    Aktuelles Datum und Uhrzeit in Formular: Hallo, zunächst ein herzlichen Dank für die Aufnahme in diesem Forum und hoffe, dass mir jemand bei meinem Problem behilflich sein kann. Ich bin aktuell dabei ein Formular zu erstellen. Das...
  6. Summieren an Hand der letzten x Datums Werte und mit weiteren Kriterien

    in Microsoft Excel Hilfe
    Summieren an Hand der letzten x Datums Werte und mit weiteren Kriterien: Schönen guten Abend, Wie kann man am besten Summieren mit mehreren Kriterien eines soll davon das Datum sein. So das vom Aktuellen Letzten Datums Wert aus gehent die letzten Bsp. 10 Werte...
  7. Zelle farblich markieren wenn Datum

    in Microsoft Excel Hilfe
    Zelle farblich markieren wenn Datum: Hallo zusammen, ich bräuchte einmal Eure Hilfe: In einer Tabelle habe ich ein Kontrollkästchen und ein Datumsfeld. J4 Kontrollkästchen K4 Datum Durch bedingte Formatierung habe ich es so...
  8. Fortlaufendes Datum im Kopf für je 2 Seiten

    in Microsoft Word Hilfe
    Fortlaufendes Datum im Kopf für je 2 Seiten: Hallo zusammen, und zwar würde ich gerne ein laufendes Datum in die Kopfzeile eines Word-Dokumentes setzen. Es sind jeweils 2 aufeinanderfolgende zusammengehörige Seiten mit einem Datum...
  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