Yes but I could know that he is older than someone else in the db. I could seperate the birth year from the month and day and have it in a seperate field. but could I get access to recognize either fields as a date?
One thing you could do is to store it as a numeric field in the form
yyyymmdd. Any unknown portion is set to zero. Thus, if you only had a year, say 1978, the value would be 19780000. This may not be much use as a date, but would certainly work for comparison purposes.
If you need to be able to use date processing, what about storing two values? One actual date (setting unknowns to 01, perhaps) to allow an approximate age to be calculated, and one "comparison date" as described above.
A coupe of examples:
A: The 1978-born person
Date for age calculation: 1st Jan, 1978
Number for comparison: 19780000
B: Someone whose full birth date is known
Date for age calculation: 20th May, 1952
Number for comparison: 19520520
You might get away with using a single date field, but would probably need some way to determine which parts were real data and which made up.