Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Маски ввода.... / 25 сообщений из 37, страница 1 из 2
11.05.2004, 15:09
    #32513252
Mila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Здравствуйте!
Пожалуйста подскажите, почему при добавлении ( rst!Nkrs = Me!Nkrs) значения из поля на форме (маска "К95"0000000) в поле таблицы, добавляеться все кроме К95?
К95 - всегда повторяется, а остальные восемь символов - любые цифры...
Куда потерялась и как найти?
...
Рейтинг: 0 / 0
11.05.2004, 15:17
    #32513265
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
HelpThe InputMask property can contain up to three sections separated by semicolons (;).

First Specifies the input mask itself; for example, !(999) 999-9999. For a list of characters you can use to define the input mask, see the following table.
Second Specifies whether Microsoft Access stores the literal display characters in the table when you enter data. If you use 0 for this section, all literal display characters (for example, the parentheses in a phone number input mask) are stored with the value; if you enter 1 or leave this section blank, only characters typed into the control are stored.
Third Specifies the character that Microsoft Access displays for the space where you should type a character in the input mask. For this section, you can use any character; to display an empty string, use a space enclosed in quotation marks (" ").
...
Рейтинг: 0 / 0
11.05.2004, 15:18
    #32513267
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
То есть после маски надо пририсовать:

;0
...
Рейтинг: 0 / 0
11.05.2004, 15:21
    #32513274
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Ф1Значение свойства Маска ввода (InputMask) может содержать до трех разделов, разделяемых точкой с запятой (;).

Раздел Описание
Первый Представляет саму маску ввода (например, !(999) 000-0000). Перечень символов, используемых для определения масок ввода приводится ниже в таблице.
Второй Определяет режим занесения в таблицу строковых констант, добавляемых к символам, вводящимся пользователем. Введенный в данный компонент символ 0 указывает, что постоянные символы (например, скобки и дефисы в маске ввода телефонных номеров) сохраняются вместе с введенными пользователем символами; значение 1 или пустое значение данного компонента указывает, что сохраняются только символы, введенные пользователем.
Третий Определяет символ, используемый для изображения пустых позиций в маске ввода, в которые помещаются вводящиеся пользователем символы. В этом компоненте можно указать любой символ ANSI; пробел необходимо заключить в кавычки (" ").
...
Рейтинг: 0 / 0
11.05.2004, 15:22
    #32513276
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
мдя.
апаздал
...
Рейтинг: 0 / 0
11.05.2004, 15:29
    #32513288
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Новый тип файла - mdя. :^)
...
Рейтинг: 0 / 0
11.05.2004, 15:36
    #32513307
Mila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Спасибо!
"К95"0000000;0
Проверка - в форме фсе чисто и красиво, а в таблице...ну нету К95...
???
...
Рейтинг: 0 / 0
11.05.2004, 15:41
    #32513321
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Сейчас проверил. Вроде получается так: если ControlSource пустой (контрол не привязан), то это действительно не работает.
...
Рейтинг: 0 / 0
11.05.2004, 15:42
    #32513323
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Можно убрать ;0 от греха подальше, а в программе сделать:

rst!Nkrs = "К95" & Me!Nkrs
...
Рейтинг: 0 / 0
11.05.2004, 15:51
    #32513343
Mila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
аХа, так мона..
тока вот у меня есть еще одно поле ввода номеров бланков, их 4 вида
"555"0000000000
L0000000000
"421"0000000000
"195"0000000000
пользователи плачут, не хотять цифирьки одни и те ж вводить, я думала с помощью маски ввода это дело облегчить...
обыдно, да?!
))))))
...
Рейтинг: 0 / 0
11.05.2004, 15:56
    #32513357
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Так пусть и не вводят. На экране маска, а в программе как я предложил.
...
Рейтинг: 0 / 0
11.05.2004, 15:58
    #32513363
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Если контрол свяанный - то все работает как надо
Если контрол свободный - то все равно сохранять данные придется программно. Вот программно туда префикс и дописывать.
...
Рейтинг: 0 / 0
11.05.2004, 16:02
    #32513372
Mila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
у меня первые цифры номеров бланков зависят от выбранной авиакомпании
то есть при вводе в таблицу нужно будет писать условие
если это авиакомпания Аэрофлот, то rst!Nblank = "555" & Me!Nblank, иначе
если это авиакомпания ... то ... rst!Nblank = "195" & Me!Nblank иначе...
так, да?
у меня пользователи если не видят привычного набора цифирек - невриничают)))
...
Рейтинг: 0 / 0
11.05.2004, 16:06
    #32513382
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Есть гениальное решение!

rst!Nkrs = format(Me!Nkrs, Me!Nkrs.inputmask)
...
Рейтинг: 0 / 0
11.05.2004, 16:12
    #32513393
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Имхо вообще все неправильно
Если префикс однозначно определяется чем-то там - то его и хранить не надо вместе с остальным номером. Т.е. префикс хранить конечно надо, но в отдельной табличке (из четырех записей)
Маску ввода на лету изменять (на событии Current)
...
Рейтинг: 0 / 0
11.05.2004, 16:17
    #32513409
Mila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
))) Получилось )))
Спасибо!
...
Рейтинг: 0 / 0
13.06.2004, 13:43
    #32559721
Mila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Здравствуйте все!
Помогите пожалуйста!
В продолжение темы...
Есть поле в которое вводится маршрут, возможны варианты
1) КРР-МОВ
2) КРР-МОВ-КРР
3) КРР-МОВ-СПТ-МОВ-КРР
Маска в поле - >LLL\-LLL\-???\-???\-???;0'_
В итоге в первом случае возвращается КРР-МОВ---
Исходя из вышеприведенной справки есть вариант
Маска в поле - >LLL\-LLL\-???\-???\-???;1'_
и тогда будет КРРМОВ
мож еще что то мона сотворить?
и еще плиз, подскажите функцию для поиска и удаления заданного сивола, или наоборот для втавки во втором случае.
Спасибо!
...
Рейтинг: 0 / 0
13.06.2004, 13:53
    #32559726
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Функция называется Replace.

А вот с минусами, из которых нужна только часть, - это таки задачка. Я бы выбрал хранить в виде КРРМОВ, а при выводе (в отчетах) дорисовывать минусы при помощи функции, которая займет строчек пять.
...
Рейтинг: 0 / 0
13.06.2004, 14:02
    #32559730
Mila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Владимир Саныч, в случае использования Replace, на что менять "-", типа чтоб удалить?
...
Рейтинг: 0 / 0
13.06.2004, 14:03
    #32559731
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
function XXX(s as string)as string
dim i as integer,s0 as string
s0=""
for i=1 to len(s) step 3
s0=s0 & mid(s,i,3) & "-"
next
XXX=left(s0,len(s0)-1)
end function
...
Рейтинг: 0 / 0
13.06.2004, 14:04
    #32559733
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Чтобы удалить - на стринг нулевой длины, истессно.
...
Рейтинг: 0 / 0
13.06.2004, 14:42
    #32559745
Mila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Владимир Саныч, спасибо большое)
скажите как заставить Replace проверять с последнего символа?
Ввожу в поле маршрут КРР-МОВ---
Mr = Replace(Me!Mr, "-", "", 8, 3, 1), Me!Mr - КРР-МОВ--- (проверила), а Mr возвращает - ""
...
Рейтинг: 0 / 0
13.06.2004, 14:53
    #32559747
Mila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Mr = Replace(Me!Mr, "---", "", 8), все равно возвращает "" при КРР-МОВ---
???
...
Рейтинг: 0 / 0
13.06.2004, 14:57
    #32559750
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Milaкак заставить Replace проверять с последнего символа?
По-моему, так нельзя. А зачем?

MilaВвожу в поле маршрут КРР-МОВ---
Mr = Replace(Me!Mr, "-", "", 8, 3, 1), Me!Mr - КРР-МОВ--- (проверила), а Mr возвращает - ""
Mr = Left(Me!Mr, 7) & Replace(Me!Mr, "-", "", 8)
...
Рейтинг: 0 / 0
13.06.2004, 15:29
    #32559772
Mila
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Маски ввода....
Упс, так он возвращает только то что заменил?
Mr = Replace(Me!Mr, "-", "u") - так тоже возвращает ""
А с последнего символа - хотела поставить максимум 3 замены, но не вариант
КРР-МОВ--- катит
КРР-МОВ-КРР-- не катит
ну можно было бы сделать 3 Replace с последнего символа "---","--","-"
изваращение конечно, но...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Маски ввода.... / 25 сообщений из 37, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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