Robert,
There is no way to identify and fix the invalid dates in Analysis and it will refuse to handle a date outside the legal range (01/01/1800 to 31/12/2199)
Create a check file with the following: ==== checkdates.chk ==== recodeblock if (d < "01/01/1900") or (d > "31/12/2006") then d = date(1,1,1800) endif end
consistencyblock check "Invalid date" checkrange end
d range "01/01/1900" "31/12/2006" end ==== end of checkdates.chk ==== In my example, D is a date variable. If I had used the check file for entry, all dates would be valid because of the RANGE command. However, since I entered data without this check, I can use the CONSISTENCYBLOCK to find records with an invalid date (prints a report with the record numbers) or I can use the RECODEBLOCK to change D to a date that I know is wrong, but that EpiData will accept until I can fix it. There is no need to retain the originally typed value, since you have to go back to the original data source.
To do a recode, use the Tools menu; to do a consistency check, use the Document menu (both in EpiData entry).
You can use EPIC to do the consistency checks, but not the recoding.
Unfortunately, the date variables will be useless in Analysis until you clean them up.
We can ask that invalid dates be converted to Missing or some other useful code when they are outside the legal limits for Analysis.
Jamie