powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Наиболее удобный формат отображения-ввода даты в форме Access2000
6 сообщений из 6, страница 1 из 1
Наиболее удобный формат отображения-ввода даты в форме Access2000
    #32495564
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто какой формат отображения-ввода даты в форме считает наиболее удобным?

Я что-то не могу справиться с желаемым:
когда ставлю маску '99.99.99;;_' дата хорошо набирается только на пустых полях,
а именно - курсор успешно перескакивает через точку при наборе 3-ей и 5-й цифр
чего не происходит если поле уже заполнено и требуется исправить значение:
при этом курсор при наборе 3-й и 5-й цифры не переходит за точку автоматически,
а нужно его перевести стрелкой, что смущает польователя
( хотя надо заметить, что если стереть имеющееся значение и набирать все 6 цифр
даты без точек , то будет произведено корректное сохранение нового значения в поле,
но это опять же не удобно, когда точки не видны !)

A вообще хочется чтобы в форме дата отображалась как "dd-mmm-yyyy",
а при входе в режим ее редактирования предоставляла возмодность редактировать
ее по маске '99.99.99;;_' с автоматическим перескакиванием через точки.
Возможно ли такое, если нет, то как все-же наиболее удобно - быстро , понятно
вводить дату в формах Access2000 ?
...
Рейтинг: 0 / 0
Наиболее удобный формат отображения-ввода даты в форме Access2000
    #32495576
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> A вообще хочется чтобы в форме дата отображалась как "dd-mmm-yyyy",
> а при входе в режим ее редактирования предоставляла возмодность
> редактировать ее по маске '99.99.99;;_' с автоматическим перескакиванием
> через точки.
Так и поставь - маску "краткий формат даты", а формат поля - "длинный формат даты".

> Возможно ли такое, если нет, то как все-же наиболее удобно - быстро ,
> понятно вводить дату в формах Access2000 ?
Не знаю, по мне так лучше вообще маской не пользоваться - у акцесса хороший алгоритм преобразования строки в дату.
"1,13-2" = 13-01-2002
"14.2" = 14-02-2004
и т.д.
Вкупе с календариком под редакцией Сергея Гаврилова, Сенина Виктора и других уважаемых товарищей, я думаю, это вообще почти идеал.
Кроме того, при пользовании маски ввода м.б. проблемы на разных к-х с преобразованием dd.mm.yyyy<->dd.mm.yy.
...
Рейтинг: 0 / 0
Наиболее удобный формат отображения-ввода даты в форме Access2000
    #32495581
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 GEO
Кстати сегодня нашёл в календарике небольшой баг (? если это не задумка такая)
При открытии календаря, если счёлкать правой кнопкой мыши на даты, они
становятся жирными, причём насчёлкать можно весь календарь.
...
Рейтинг: 0 / 0
Наиболее удобный формат отображения-ввода даты в форме Access2000
    #32495590
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Geo> Так и поставь - маску "краткий формат даты", а формат поля - "длинный формат даты". >

Да я не знаю как поставить маску "краткий формат даты", кроме того , если ты заметил мне надо для формата поля "dd-mmm-yyyy", что есть средний формат, а не длинный ,

Не знаю, по мне так лучше вообще маской не пользоваться - у акцесса хороший алгоритм преобразования строки в дату. >

Так а как в форме задавать формат для ввода и для представления значений даты ? Я не врубаюсь о чем ты - при чем тут алгоритм преобразования строки в дату?.
...
Рейтинг: 0 / 0
Наиболее удобный формат отображения-ввода даты в форме Access2000
    #32495607
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2AITis
Это не ко мне. :) У меня так же работает, но смотреть почему (или зачем) мне лениво - и так хорошо :)

2 yuniki
авторДа я не знаю как поставить маску "краткий формат даты", кроме того , если ты заметил мне надо для формата поля "dd-mmm-yyyy", что есть средний формат, а не длинный
Пусть средний, согласен. А маску поставить - Форма->Конструктор->Поле->Свойства->Данные->Маска ввода.
Если ты это имеешь в виду.
Маска не обязательно должна быть идентична формату отображения (Форма->Конструктор->Поле->Свойства->Макет->Формат поля)

авторФорма->Конструктор->Поле->Свойства->Данные->Маска ввода
Я говорю, что акцесс и без масок предоставляет удобства при вводе дат в поле. И я предпочитаю ими не пользоваться. Пользователю быстрее набрать на цифровой клавиатуре "13,7", чем "13072004".
...
Рейтинг: 0 / 0
Наиболее удобный формат отображения-ввода даты в форме Access2000
    #32495915
lobodava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-во, я с Geo согласен, что маска для ввода даты это лишний геморрой для пользователя :). Лучше, что бы маски на дату не было совсем. Access и без маски не даст ввести некорректное значение. К тому ж допускается довольно таки гибкий ввод - "7.3" будет воспринято как 7 Марта 2004 года - не надо делать лишних тыков :). А отображать дату после ввода, в форме и в списках, лучше в формате "dd.mm.yy" - везде стандартная ширина, ровные столбики, мало места. Но это по-моему...

В дополнению к календарику могу предложить метод, который очень хорошо себя зарекомендовал
- ввод дат с помощью клавиш "*", "+", "-"

При нажатии "*" вводится сегодняшняя дата
При нажатии "+" вводится завтрашняя дата, а при удержании клавиши следущая дата и т.д.
При нажатии "-" вводится вчерашняя дата, а при удержании клавиши предыдущая дата и т.д.
Если в TextBox'е пусто, то при нажатии на "+" или "-" отсёт начинается с сегодняшней даты.

для этого где-нибудь в свободном модуле надо положить вот это:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Public Sub SetDate(tboControl As TextBox, KeyAscii As Integer)
    Dim strCharacter As String
         
    strCharacter = Chr(KeyAscii)
         
    If strCharacter =  "*"  Then
         tboControl.Value = Date
         KeyAscii =  0 
    ElseIf strCharacter =  "-"  Then
        If IsNull(tboControl.Value) Then
            tboControl.Value = Date
        Else
            tboControl.Value = tboControl.Value -  1 
        End If
        KeyAscii =  0 
    ElseIf strCharacter =  "+"  Then
        If IsNull(tboControl.Value) Then
            tboControl.Value = Date
        Else
            tboControl.Value = tboControl.Value +  1 
        End If
        KeyAscii =  0 
    End If
End Sub


А это повесить в форме на контрол на событие KeyPress:
Код: plaintext
1.
2.
3.
Private Sub tboDate_KeyPress(KeyAscii As Integer)
    SetDate tboDate, KeyAscii
    If KeyAscii =  0  Then tboDate_AfterUpdate '- это если есть событие AfterUpdate у tboDate
End Sub


Вашим подопечным понравится :))
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Наиболее удобный формат отображения-ввода даты в форме Access2000
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]