I have a database that needs dates earlier than 1600, but the Date Min in forms control wont go below 1600-1-1. I can manually enter dates prior to 1600 into a table, but they are changed to the minimum when displayed in a form.
I am using LO 6.4 on Windows 10.
Thanks for the link. Just to clarify, the direct answer to my question is no, the 1600 date limitation on date fields in forms is hard coded and cannot be disabled or changed. I can get around the limitation by using text fields instead of date fields thereby avoiding/sacrificing all date format checks. To do that I must first manually format all date columns to the format I want (yyyy-mm-dd).
Doing this, however, reveals what is probably a bug in Firebird Embeded. I have the following line in a select statement in a view: “BirthDate” ||’ to '|| “DeathDate” AS “Life Span”. It appears that the conversion from date type to string does not take into account the calendar change in 1582. Thus, a date that is entered as 1582-10-4 (and is in the table as that) shows up in the above “Life Span” string as 1582-10-14. All dates earlier than 1582-10-15 converted to strings are 10 days off.
Same result if I CAST “BirthDate” to either DATE or VARCHAR(10).
Currently no method to adjust date control minimum to less than 1600. Used MM/DD/YYYY as in the link and had no problem with 10/04/1582 - did not change (nor did a number of other earlier tested dates).
As the comments in the link state, the only item changed was the form control ( from date control to text control). The table field stays as a date field.
I think we agree on the statement of the limitation and the workaround.
Can you address the second half of my comment–beginning with “Doing this, however…”-- i.e. the 10 day discrepancy between the date shown in a form text control box for a date field in a table versus the string conversion of the same date produced in an SQL select statement of the same date field? Form correctly shows 1582-10-4; SQL string conversion erroneously produces 1582-10-14.