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. Datum wird nicht sortiert

    in Microsoft Excel Hilfe
    Datum wird nicht sortiert: Moin zusammen, ich brauche Eure Hilfe... Ich habe eine Datei vom Server geladen, die die Daten (01.01.23-31.12.23) meiner PV Anlage enthält. Es handelt sich naturgemäß um eine Excel-Tabelle. In...
  3. Datum und Uhrzeit

    in Microsoft Excel Hilfe
    Datum und Uhrzeit: Hallo, ich habe ein kleines Problem vielleicht kann mir Bitte Jemand weiterhelfen, müsste eigentlich schnell lösbar sein dieses Problem. Ich habe in einem Monat (variierend) 20 bis mehrere...
  4. Summewenns mit Datum und Zwei Buchstaben eingrenzen

    in Microsoft Excel Hilfe
    Summewenns mit Datum und Zwei Buchstaben eingrenzen: Guten Abend Zusammen, ich versuche aus einer Tabelle mit Summewenns (sumifs) die Beträge vom Kalendermonat abweichend zu errechnen. Das funktioniert mittlerweile auch. Da das Datum über den...
  5. Zeit Berechnung mit mehreren kriterien (Datum/Uhrzeit)

    in Microsoft Excel Hilfe
    Zeit Berechnung mit mehreren kriterien (Datum/Uhrzeit): Hallo zusammen, leider weiss ich nicht wie ich die Start- und Endzeit von "Datum und Uhrzeit" mit mehreren kriterienin über Summewenns einbauen kann. Hab hier im Forum nach einer Lösung geschaut...
  6. Dokumente und Blatt umbenennen

    in Microsoft Word Hilfe
    Dokumente und Blatt umbenennen: Ich lade mir jeden Tag csv-Dateien von meiner Bank herunter. Diese sind mit Datum versehen, also die Datei selbst und das erste Blatt, z.B. "Konto_13.02.2024". Wenn ich ein Makro erstelle, in dem...
  7. Suche Datum mit >= "Startdatum" und <= "Enddatum

    in Microsoft Excel Hilfe
    Suche Datum mit >= "Startdatum" und <= "Enddatum: Hallo Forengemeinde, ich versuche derzeit eine Tabelle mit Daten mit Daten aus einer anderen Tabelle zu kombinieren. Hierzu soll ein Wert, in Abhängigkeit des Datums herausgesucht werden. In...
  8. Datum/Uhrzeit runden in PowerQuery

    in Microsoft Excel Hilfe
    Datum/Uhrzeit runden in PowerQuery: Hallo zusammen, ich brauche eure Hilfe. Gibt es in PowerQuery eine Möglichkeit bei folgendem Format die Sekunden automatisch für die ganze Spalte auf 00 zu setzen? 24.01.2024 14:29:43 >>>...
  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