Почему бы просто не использовать встроенный формат "Общая дата"? За эти годы я обнаружил, что входные маски очень ограничивают и, в основном, причиняют боль. Хотя с тех пор, как я их использовал, прошло так много времени, что я не помню деталей того, почему я их презираю.
Это также имеет преимущество в уважении выбора пользователем регионального формата даты. Например, я всегда использую формат гггг-мм-дд.
Также у клиента возникла ситуация, когда формат даты был определен как средний по всем полям. Что дд-ммм-гг. Позже выяснилось, что в таблице из 100 тысяч записей до 1900 года было двенадцать дат. У них просто было что-то дополнительно введенное в году, поэтому Windows / Access интерпретировал эти даты как 3-й или 5-й век или что-то подобное. Теперь эти даты не использовались ни для каких вычислений, так что это не имело большого значения. SQL Server, уменьшающий размер до небольших полей даты / времени, не оценил их.