Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Маска "Краткий формат времени"  [new]
vgrafin
Member

Откуда:
Сообщений: 44
Win10 + Access10
Форма с полем "Краткий формат времени" и с той же маской ввода. Вводим 0100. ОК - получаем 01:00.( Если в пустое поле вводить 0100000 - лишние нули отсекаются (4 знака по маске)). Выделяем повторно поле. Начинаем ввод -010000 - вся последовательность попадает в поле и даёт ошибку "Введенное значение не соответствует маске...." . Это может начаться со 2 или 3 попытки перезаписи.
Ограничение по маске "потерялось".
Поискал по форумам - ничего не выловил.
Это объяснимо или "недокументированная" возможность?
11 июн 21, 15:22    [22334468]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7354
vgrafin,
-01000 - а сколько это минут(часов,суток,годов)
11 июн 21, 23:11    [22334606]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
vgrafin
Member

Откуда:
Сообщений: 44
sdku, Какая разница сколько. Идёт забой большого числа полей с временем. Пользователи долбят по клавиатуре почти не глядя. Иногда случается неправильный ввод. Исправили - опять не то. Попадаем на повторный ввод несколько раз. Выдели мышкой или Tab -ом с другого поля - вот и получаем описанный результат. Рука задержалась на 4-ой цифре - и ага, маска не ограничила ввод.
15 июн 21, 12:59    [22335362]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
Eugene-LS
Member

Откуда: РФ, Мурманск
Сообщений: 33
vgrafin
Начинаем ввод -010000 - вся последовательность попадает в поле и даёт ошибку "Введенное значение не соответствует маске...." . Это может начаться со 2 или 3 попытки перезаписи.

Придумалось пока нечто такое:
Private Sub ПолеКраткоеВремя_Change()
Dim s$
    s = Me.ActiveControl.Text
    If Len(s) > 4 And IsNumeric(s) = True Then
        Me.ActiveControl.Text = Mid(s, 1, 4)
        Me.ActiveControl.SelStart = 5
        Me.ActiveControl.SelLength = 0
    End If
End Sub

Private Sub ПолеКраткоеВремя_GotFocus()
    Me.ActiveControl.SelStart = 0
    Me.ActiveControl.SelLength = 1
End Sub
15 июн 21, 15:09    [22335453]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7354
.

Сообщение было отредактировано: 15 июн 21, 16:43
15 июн 21, 16:47    [22335531]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7354
Стесняюсь спросить:а зачем в поле дата\время краткого формата времени маска???
При всем упорстве юзера он не сможет задать этому полю неверное значение.
Обычно, до нормальных людей, это "доходит" со 2-3 попытки ввода неправильного значения и больше они так не делают
Ну а если он введет 12:12 вместо 11:12,то откуда "ящику"-РС знать чего хотел юзер
И почитайте на досуге про формат и маску ввода
15 июн 21, 17:10    [22335543]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
ИВП
Member

Откуда:
Сообщений: 450
sdku
Стесняюсь спросить:а зачем в поле дата\время краткого формата времени маска???
При всем упорстве юзера он не сможет задать этому полю неверное значение.
Обычно, до нормальных людей, это "доходит" со 2-3 попытки ввода неправильного значения и больше они так не делают
Ну а если он введет 12:12 вместо 11:12,то откуда "ящику"-РС знать чего хотел юзер
И почитайте на досуге про формат и маску ввода

Когда-то очень хорошо был организован ввод даты в 1С(((
15 июн 21, 22:27    [22335702]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
vmag
Member

Откуда: MP
Сообщений: 4036
vgrafin
Идёт забой большого числа полей с временем. Пользователи долбят по клавиатуре почти не глядя. Иногда случается неправильный ввод. Исправили - опять не то


интересно, это так всегда будет?
Может костыли модернизировать?
--------------------------------------------
Например, два поля со списком с определенными текстовыми значениями (часы 00-23 и минуты 00-59)
Ограничиться списком поставить везде - Да
Алгоритм ввода такой:
Ввод часов - Enter - Ввод минут - Enter - программно получаем (Часы:Минуты)
Ну и показывать результат вверху с размером шрифта с 30-ку для контроля...
---------------------------------------------
Можно и не долбить не глядя (уйти от клавы и реально смотреть что происходит)
- Вертикально делаем 24 кнопки с часами (00 - 23)
- Горизонтально кнопки с минутами (можно в несколько рядов, например в два ряда 00 - 30 и 31 - 59)
Юзеру нужно будет вместо долбежа по клаве не глядя, осмысленно нажать две кнопки мышкой...
Ну и для контроля показывать последние введенные штук 5-10 значений
---------------------------------------------
Можно программно записать в один список все варианты часов и минут от 0000 до 2359
и тоже поставить Ограничиться списком - Да
---------------------------------------------
мдя... никогда бы не подумал, что придется такое писать и советовать...


Сообщение было отредактировано: 15 июн 21, 23:11
15 июн 21, 23:17    [22335714]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7354
В крайнем случае можно и так:
vmag
...Например, два поля со списком с определенными текстовыми значениями (часы 00-23 и минуты 00-59)
Но я сильно сомневаюсь что это будет быстрее чем с клавы набрать 4 цифры с разделителем двоеточие. Не надо "изобретать" велосипед в котором нет никакой нужды.
vgrafin
...Пользователи долбят по клавиатуре почти не глядя....
А чё у них ни глаз ни мозгов нет(только дятлы долбят не думая-мозгов то нет и зарплату им не платят). Создайте программу которой сможет пользоваться даже дурак и только он то и будет ей пользоваться
16 июн 21, 02:33    [22335731]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4755
vgrafin
Идёт забой большого числа полей с временем. Пользователи долбят по клавиатуре почти не глядя.

мои операторы предпочли ввод данных для зарплаты без мышки
-2 текстовых поля по 2 символа с автопереходом, контроль по списку значений 00-24 и 00-60
-расчетное поле - часы и минуты переводились в часы
16 июн 21, 06:23    [22335743]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
Eugene-LS
Member

Откуда: РФ, Мурманск
Сообщений: 33
ИВП
Когда-то очень хорошо был организован ввод даты в 1С(((

Ну нечто такое есть ...

К сообщению приложен файл (Time Picker Up To Minutes_v014.zip - 84Kb) cкачать
16 июн 21, 17:00    [22336186]     Ответить | Цитировать Сообщить модератору
 Re: Маска "Краткий формат времени"  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 7354
vgrafin
Начинаем ввод -010000 - вся последовательность попадает в поле и даёт ошибку "Введенное значение не соответствует маске...." .
здесь Вы глубоко заблуждаетесь-это значение отображено на экране,но в поле его нет и не будет пока access "молча не проглотит" то что отображено в поле

К сообщению приложен файл. Размер - 23Kb


Сообщение было отредактировано: 17 июн 21, 13:09
17 июн 21, 13:13    [22336686]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить