You can find all records with dates before the year 2012 if you use <2012 as your criteria.
So this expression computes the "3 years earlier than today" criteria:
"<" & Year ( get ( CurrentDate ) ) - 3
You can use this criteria in a scripted find such as those illustrated in this thread: Scripted Find Examples
Well, what I am actually trying to get is FileMaker to look at the "Purchase Date" field of each record then then find any records that are equal to or greater than 3 years beyond that purchase date. To make things a little simpler I just create two more fields for my records. One is a "Warranty Period", where the warranty period, in days can be entered, then another field titled "End Date", which is a calculation of the "Purchase Date" plus the "Warranty Period" days. This works great and gives me the warranty end date. Now I would like to run a script that will bring up a list of records that would basically looks like this. End Date ≥ (Purchase Date + Warranty Period).
So for example
Purchase Date = 01/01/2010
Warranty Period = 1096
End Date = 01/01/2013
So I would want to run a report with the equation I stated above and the above example should come up as a found record. Let me know if you have any tips to make that work.
Then you would use this script:
Enter Find Mode
Set field [YourTable::EndDate ; "<" & Get ( CurrentDate ) ]
Set Error capture [on]
Perform Find