Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: nordland am April 17, 2011, 11:43:24

Titel: Datumsformat auf Englisch ausgeben
Beitrag von: nordland am April 17, 2011, 11:43:24
Hallo zusammen,

alle Datumsangaben in meiner Datenbank habe ich im Format z.B. 01MAI10. Ist es möglich einzustellen, dass das Datum auf Englisch herausgegeben wird also 01MAY10 ?

Danke!
Titel: Re: Datumsformat auf Englisch ausgeben
Beitrag von: Hondo am April 17, 2011, 13:38:22
Hallo,
musst du unter Systemsteuerung ---> Region und Sprache ---> Datum, Uhrzeit und Zahlenformat ändern.
Alternative wäre eine Codierung der englischen Monatsnamen in einem Array und per String-Funktionen das Datum zusammensetzen.

Andreas
Titel: Re: Datumsformat auf Englisch ausgeben
Beitrag von: nordland am April 17, 2011, 14:13:48
Herzlichen Dank!
Titel: Re: Datumsformat auf Englisch ausgeben
Beitrag von: Hondo am April 17, 2011, 14:13:52
Hallo,
z.B. die folgende Prozedur könnte dir weiterhelfen:

Public Function DatumE(checkDate As String) As String
   Dim mArr() As Variant
   Dim i As Long
   Dim flag1 As Boolean
   mArr = Array("dummy", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
   
   For i = 2 To Len(checkDate)
       If Not IsNumeric(Mid(checkDate, i, 1)) And Not flag1 Then
           checkDate = Left(checkDate, i - 1) & "." & Mid(checkDate, i)
           i = i + 1
           flag1 = True
       ElseIf IsNumeric(Mid(checkDate, i, 1)) And flag1 Then
           checkDate = Left(checkDate, i - 1) & "." & Mid(checkDate, i)
           Exit For
       End If
   Next i
   
   If IsDate(checkDate) Then
       DatumE = IIf(Len(Day(checkDate)) = 1, "0", "") & Day(checkDate) & mArr(Month(checkDate)) & Right(Year(checkDate), 2)
   End If
End Function


Aufruf z.B. in einer Abfrage.
Gruß Andreas
Titel: Re: Datumsformat auf Englisch ausgeben
Beitrag von: Hondo am April 17, 2011, 14:31:00
Oder die Kurzform wenn das Format DDMonatYY eingehalten wird:

Public Function DatumE(checkDate As String) As String
    Dim mArr() As Variant
    Dim neuDate As String
    mArr = Array("dummy", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
    neuDate = "1." & Mid(checkDate, 3, Len(checkDate) - 4) & ".1"
    DatumE = Left(checkDate, 2) & mArr(Month(neuDate)) & Right(checkDate, 2)
End Function


Gruß Andreas