Поле строка - использование маски

Albawarden

Посетитель
#1
Использую поле строка для введения Фамилии , для быстроты набора указал маску типа >a!aaaaaaaaaaaaaaaaaaa . Количество символов на глаз с запасом , хотя есть вариант что фамилия будет еще длиннее . При переходе в поле по Tab все работает неплохо , но если оператор клацает в поле мышкой , то курсор становится не в начало строки , что усложняет работу . Может в новых версиях что-то изменилось на этот счет ?
 

Vladimir

Администратор
Команда форума
#2
При использовании маски строка уже заполнена символами, поэтому при клике в ней курсор будет становится именно в указанную позицию - это обычное поведение маски в любых программах.

Можно решить задачу через приведение первого символа к верхнему регистру при помощи функции [Upper()] и добавления всех остальных символов строки (например до 50). Длину строки при вводе также надо ограничить 50 символами при помощи регулярного выражения:
.{,50}
На первый взгляд - результирующее составное поле "ФИО" очень большое и сложное для набора. Но сделано оно было за пару минут: в Excel вставлено протяжкой 50 строк, а в соседнем столбце использована формула сцепления:
=СЦЕПИТЬ("[";A1;"(Фамилия)]")
50 строк перенесено в текстовый редактор и удалены символы конца строк. Для "Имя" и "Отчества" были заменены слова через поиск и замену в пару кликов.
Затем всё вставлено в составное поле:
Формула в составном поле посимвольного формирования строки.png
Результат работы:
Пример строк с большой буквы.png
Пример проекта во вложении.
 

Вложения