Проблема ввода маски в текстовом поле VBA? - PullRequest
0 голосов
/ 12 июля 2009

При заполнении свойства маски ввода существует проблема в текстовом поле VBA:

Я пытаюсь сделать комбинацию даты и времени:

Поэтому я поставил это так:

00/00/00;0;_00:00;0;_

Но при запуске приложения я получаю только 00/00/00 (Дата).

Но я помню, я получил результат как 00/00/00 00,00, как и ожидалось, когда я впервые поместил выражение, как указано выше;

но сейчас я не понимаю :-(

Ответы [ 2 ]

2 голосов
/ 12 июля 2009

Свойство InputMask может содержать до трех разделов, разделенных точками с запятой (;)

Ваша маска должна быть такой:

"00/00/00 00:00;0;0"

или

"00/00/00 00:00;0;_" // to display it like __/__/__ __:__
0 голосов
/ 12 июля 2009

Почему бы просто не использовать встроенный формат "Общая дата"? За эти годы я обнаружил, что входные маски очень ограничивают и, в основном, причиняют боль. Хотя с тех пор, как я их использовал, прошло так много времени, что я не помню деталей того, почему я их презираю.

Это также имеет преимущество в уважении выбора пользователем регионального формата даты. Например, я всегда использую формат гггг-мм-дд.

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

...