Try this with SET DATE GERMAN :-)
>Thanks Dorris, I went with something similar:
>
>
> lcCentury = SET('CENTURY')
> lxThisValue = IIF(TYPE('THIS.Value')='T', ;
> TTOD(THIS.Value), THIS.Value)
>
> SET CENTURY ON
> lxDateValue = IIF(TYPE('lxThisValue')='T', GETaDATE(), GETaDATE("D"))
> SET CENTURY &lcCentury
>
>
> *--Check for future date
> IF lxThisValue > lxDateValue
> ldStartValue = this.value
> TRY
> IF TYPE('this.value') = 'T'
> THIS.value = DTOT(CTOD(STR(MONTH(this.value))+'/'+STR(DAY(this.value))+'/'+STR(YEAR(this.value)-100)))
> ELSE
> THIS.value = CTOD(STR(MONTH(this.value))+'/'+STR(DAY(this.value))+'/'+STR(YEAR(this.value)-100))
> ENDIF
> CATCH
> THIS.value = ldStartValue
> RETURN .F.
> ENDTRY
> IF TYPE("gluse2DigYear")="L" AND gluse2DigYear
> SET CENTURY OFF
> ENDIF
> RETURN .T.
> ENDIF
>
>
>>If Century is set on, don't they have to enter a 4 digit year?
>>
>>otherwise, are you looking for something like:
>>
>>if Year(dtofBirth) > Year(date())
>> dtofBirth = ctod(alltrim(str(Month(dtofBirth))) + ;
>> alltrim(str(Day(dtofBirth))) + ;
>> alltrim(str(Year(dtofBirth)-100)))
>>endif
>>
>>>A user can enter 2 or 4 digit value for the year section in a datetime field: (i.e. 01/01/01 or 01/01/2001)
>>>
>>>1. If the year is in the future, invalid - set to same date in previous century (i.e. 08 entered, make it 1908, or 2008 entered, make it 1908).
>>>2. If the year is between the current century and the current year (2000/00 to 2007/07), assume this century.
>>>3. If the year is greater than the current year, set it to the same date in the previous century.
>>>
>>>For some reason I am not getting this today. It should be so very very simple...
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.