This error can be caused by leap years ( years with a February 29 date) because the date range on the report is not compatible with the date range set by the user.
You would need to manually reset the date range on the report to include the 29th.
In non-leap years, it can be caused by damage to some of the files the program uses to operate, specifically the .ND and the .TLG files.
In many cases, to resolve the damage in the files you will need to locate and rename the files.
Look in the folder where your data file resides (pressing the F2 key will bring the product information screen, it will show the file location).
In the same folder with your company data you will see the company data file name, and two files that end in .ND and .TLG.
Right click each of those files, choose rename, and after the .ND and .TLG, add .OLD.
When you reopen QuickBooks it will form new .ND and .TLG files that do not contain any damage.