Marshall Barton said:
Use four digit years. Instead of entering a date as 1/22/04
(which is converted to 1/22/2004), enter 1/22/1904.
Two digit years up to 29 are assumed to be in the 21st
century, so 00 thru 29 is 2000 thru 2029, but 30 thru 99 is
1930 thru 1999.
Or ...
.... get creative with VBA. Since you know what the date is used for, you can
do the 2-digit to 4-digit conversion for the user and store it as a date
behind the scenes. You'll just be displaying it as text.
For example, if you know the date is a birthday, you know it will always be
in the past. As long as you know the birthday will never be more than 99
years ago, you can assume anything from "00" to "03" is 21st century and
"04" to "99" is 20th century.
If the date could be in the future and could be in the past, start thinking
in terms of just how far in the future or past the date might be and develop
a "sliding window" to frame the date range. You might, for example, allow 50
years forward and 49 years backward ... or 10 years forward and 89 years
backward.
And then, of course, if the date is in the future ... well, you get the
idea.
Very troublesome to have to bother with - you'll have to do all the
formatting, range checking and object manipulation to get it to "act" like a
date - and the rules might change causing you to rewrite bits and pieces.
But it's all for the love of the users whom we cherish so deeply and hold
with high regard. The users of old really got spoiled by 2-digit years. It's
something I hate to take away from them.