Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Torsten. am November 17, 2014, 09:17:45

Titel: Datumsformat ändern
Beitrag von: Torsten. am November 17, 2014, 09:17:45
Hallo zusammen,
in einer Tabelle (Feldtyp "Memo") ist in den Datensätzen in unregelmäßiger Auflistung ein Datum im Format JJJJMM enthalten.

Beispiel:
sonstiger text ohne Datum
hosenträger zeit: 201308 bis zeit: 201310
sonstiger text ohne Datum
blusenteil in gelb zeit: 201406
sonstiger text ohne Datum
kleidergürtel bis zeit: 201407
handtasche lederoptik und fellaplikation zeit: 101212
sonstiger text ohne Datum

Die einzige Regelmäßigkeit ist die Information vor dem Datum = "zeit: "
Bekommt man die Darstellung in der Tabelle so hin das es wie folgt aussieht?

sonstiger text ohne Datum
hosenträger zeit: 08/2013 bis zeit: 10/2013
sonstiger text ohne Datum
blusenteil in gelb zeit: 06/2014
sonstiger text ohne Datum
kleidergürtel 120 cm bis zeit: 07/2014
handtasche lederoptik und fellaplikation zeit: 12/1012
sonstiger text ohne Datum
usw.

Gibt es da eine Möglichkeit um zum gewünschten Ergebnis zu kommen? Ich bitte um Eure Hilfe
Gruß Torsten.
Titel: Re: Datumsformat ändern
Beitrag von: MzKlMu am November 17, 2014, 09:40:34
Hallo,
gibt es maximal nur 2 Zeiteinträge ?


PS:
Die bessere Lösung wäre das Memofeld zu eliminieren und die Daten in getrennten Feldern als jeweils ein Datensatz abzulegen.
So wie das jetzt ist, widerspricht das den einfachsten Datenbankregeln.
Titel: Re: Datumsformat ändern
Beitrag von: Torsten. am November 17, 2014, 10:04:04
Hallo,
ja es gibt max. nur 2 Zeiteinträge, aber es gibt auch Datensätze da folgen nach dem Zeiteintrag weitere Zeichen.
Ich glaube das das eine Separation des Datums schwierig gestaltet.

Beispiel:
sonstiger text ohne Datum
hosenträger zeit: 201308 bis zeit: 201310 in verbindung mit
sonstiger text ohne Datum
blusenteil in gelb zeit: 201406 als strick
sonstiger text ohne Datum

Oder sehe ich das falsch?

Gruß Torsten.
Titel: Re: Datumsformat ändern
Beitrag von: DF6GL am November 17, 2014, 11:30:04
Hallo,

Vorschlag zur akt. Situation:


Aufruf der folgenden Public-Funktion in einer Aktualisierungsabfrage:

Public Function fkt_Replace_Datum(strMemo As String)
Dim str As String, i As Long, strErg As String
i = 1
strErg = strMemo
Do Until i >= Len(strMemo) - 6
    i = InStr(i, strMemo, "zeit: ") + 6
      If i = 6 Then Exit Do
    str = Mid(strMemo, i, 6)
      If IsNumeric(str) Then strErg = Replace(strErg, str, Right(str, 2) & "\" & Left(str, 4), 1)
Loop

fkt_Replace_Datum = strErg

End Function




Update tblTabelle1 Set MemoFeld= fkt_Replace_Datum([MemoFeld]) Where MemoFeld is not Null
Titel: Re: Datumsformat ändern
Beitrag von: Torsten. am November 17, 2014, 14:15:52
Franz, leider komme ich mit Deinem Vorschlag nicht zum Ergebnis.
Ich habe mal die Test-DB angehängt.
Bitte schaue da nochmal drüber.
Gruß Torsten.
Titel: Re: Datumsformat ändern
Beitrag von: MaggieMay am November 17, 2014, 14:33:38
Hi,

wenn du nun anstelle von "Zeit" das Wort "Baujahr" im Text stehen hast, musst du die Position des Datums natürlich anders ermitteln.

BTW:
"Description" ist ein schlechter Feldname, da das in Access ein reserviertes Wort ist.
Titel: Re: Datumsformat ändern
Beitrag von: Torsten. am November 17, 2014, 14:47:42
Das war es gewesen,
Baujahr/Zeit ist klar war mein Fehler - und die Feldbezeichnung description (war auch mein Fehler).
In desc geändert und funktioniert jetzt wunderbar.
Vielen Dank Euch beiden, Franz und MaggieMay

Gruß Torsten.
Titel: Re: Datumsformat ändern
Beitrag von: MaggieMay am November 17, 2014, 14:57:07
"Desc" ist auch ein reserviertes Wort in Access (-> SQL), aber möglicherweise weniger "brisant".
Titel: Re: Datumsformat ändern
Beitrag von: Torsten. am November 17, 2014, 15:43:53
Uuups, dann werde ich den auch abändern.
Danke für den Hinweis.
Gruß Torsten.