|
|
|
| хочу реализовать ввод номера мобильного телефона
делаю на форме три тектовых поля.
в первом по умолчанию ставлю +7 и запрещаю его менять так как номера вроде только отечественных операторов
второе и третье поля ограничиваю маской ввода ### и ####### соответственно
как теперь сделать так чтобы когда пользователь вводил три цифры кода телефона, курсор перескакивал в третье поле автоматом???
может начал что то не так, кто что подскажет? | |
|
| |
|
|
|
| У поля есть св-во AutoTab установите его в True | |
|
| |
|
|
|
| Если так нравится обрабатывать события типа change(), то проверяйте длинну поля на этом событии. Если длинна больше 3, то передавайте фокус на следующее поле. | |
|
| |
|
|
|
| а длина поля как проверяется? т(просто интересно на будущее)... хотя наверно авто-табуляции мне хватит вполне щас попробую:) | |
|
| |
|
|
|
| кстати, щас поглядел по умолчанию поставил +7 а в поле отобразилось только 7 надо особую маску ввода какую-то? | |
|
| |
|
|
|
| длину можно определить через Len(имя_поля), у Вас с учетом части поля
вроде как # в маске допускает ввод только цифирь 0-9 | |
|
| |
|
|
|
| кстати а если есть три поля в одном +7 , во втором и в третьем по 3и 6 цифр соответственно... можно ли какт осделать чтобы это сохранялось как единая строка в ячейку таблицы??? надо писать код на VBA или можно как нибудь это решить настройками свойств и взаимосвязей полей? | |
|
| |
|
|
|
| string значение=Поле1+Поле2+Поле3; | |
|
| |
|
|
|
| Да уж.... написал так написал....
dim znach as string
znach = Поле1.Value & Поле2.Value & Поле3.Value
znach даст нужное вам значение | |
|
| |
|
|
|
| это я понимаю:) кое что из азов то я знаю:)
просто обычно как допустим ест ьполе в таблице "номер телефона"
делаешь поле на форме, например "ПолеТ" и в свойствах этого поля - "данные" выбираешь поле таблицы и при вводе нолмера он автоматом в таблицу пишется...
а как быть если номер делится на три поля... объединить в строку то я могу а как связать эту строку с таблицей???
не знаю понятно ли объяснил свое непонимание:)? | |
|
| |
|
|
|
| Использовать
CurrentDB.Execute "INSERT INTO (Таблица.ПолеТаблицы) VALUES ('" & znach & "')"
либо же вместо INSERT использовать UPDATE. В зависимости от того, что вы делаете - добаляете или обновляете данные. | |
|
| |
|
|
|
| Допустим, в таблице-источнике формы есть поле "ПолеТ"
Поле1, Поле2, Поле3 - свободные, т.е. ни с чем не связаны. На событие AfterUpdate каждого из них собираете строку и: Me![ПолеТ] =строка
Но я бы на вашем месте сделал в таблице три поля и указал для каждого макс. кол-во символов. В запросе на выборку их всегда можно соединить. | |
|
| |
|
|
|
| да до этого способа тоже сам уже дошел но я проверяю еще на isnull и только тогда осуществляю присваивание... н ов таком случае потмо не получается стереть номер:) | |
|
| |
|
|
|
|
да до этого способа тоже сам уже дошел но я проверяю еще на isnull и только тогда осуществляю присваивание... н ов таком случае потмо не получается стереть номер:)
|
это я уже тоже решил!
а можно ли сделать так чтобы формат ввода был например таким "-" "---" " -------"
это для того, чтобы если я не ввел код (то есть телефон прямой) в базу так и записались тире. | |
|
| |