Hallo miteinander,

Für eine Datenbank an der Uni hab ich eine Funktion geschrieben, die mir die 
Daten TT.MM.JJ(JJ) in ein Date-Objekt umwandelt und dies zurück gibt.

Leider berichtet ein Mitstudierender unter Windows, dass bei ihm immer das 
Datum 30.11.1999 herauskommt, egal an welchem Tag er es macht noch welches 
Datum er übergibt. Unter Mac habe ich diese Probleme nicht.

Kann jemand spontan einen Fehler in diesem Code ausfindig machen?

Function ShortDate2DateObject(shortdate as String) As date
  dim day, month, year as integer
  dim d as new date
  
  day = val(NthField(ShortDate, ".", 1))
  month = val(NthField(ShortDate, ".", 2))
  year = val(NthField(ShortDate, ".", 3))
  
  if year < 100 then
    if year > (d.year-2000) then
      year = 1900 + year
    else
      year = 2000 + year
    end if
  end if
  
  d.day = day
  d.month = month
  d.year = year
  
  return d
End Function

Die Funktion ist absichtlich so gehalten, dass wenn man ein Jahr nimmt, das 
grösser als das aktuelle ist und zweistellig ist, dass 19XX daraus gemacht wird.

Vielen Dank!
Alex


Antwort per Email an