Working with non-standard dates

In Microsoft Windows, calendar controls cannot generate dates earlier than September 1752.
In Adlib these controls are used for searching and data entry of dates:

For searching, you cannot use a date index to search for earlier dates, because date indexes are accessed by means of calendar controls.
For entering an earlier date in a record, the Data type of the entry field (on the screen) cannot be Date, because this also uses a calendar display.

Another problem might be that sometimes you would like to enter incomplete dates, because only the year is known, or periods, or negative dates.

Solution

The date field in the database can in principle hold any date, but the problem is accessing that field from the Adlib interface.
For data entry, that means defining the data type of the entry field on screen as Text, so that no calendar will be used.
For searching, it means creating a text (term) index instead of a date index. In a term index you can search without being hindered by the limited calendar control. But the only useful way of searching is when the data type of the date field in the data dictionary has been set to ISO date (yyyy-mm-dd). This has to do with the alphabetical (!) sorting of a term index: alphabetical sorting on European or American dates will sort on day or month, making it impossible to find a year.
An added advantage to using this setup is that you'll be able to enter incomplete or negative dates.
If your database is already filled however (especially the concerning date field of course), you can't just change the data type of the data dictionary field, because it would result in errors (Adlib doesn't automatically convert existing content). So you'll have to do a data conversion for the concerning field, for instance by using a stand-alone adapl that will have to be written. You must change the data type of the data dictionary field directly before such a conversion. And then you'll have to change the index definition for that field, and rebuild the index.