Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите реализовать ввод номера телефона
 
 автор: joka   (23.03.2009 в 11:37)   личное сообщение
 
 

хочу реализовать ввод номера мобильного телефона

делаю на форме три тектовых поля.
в первом по умолчанию ставлю +7 и запрещаю его менять так как номера вроде только отечественных операторов
второе и третье поля ограничиваю маской ввода ### и ####### соответственно
как теперь сделать так чтобы когда пользователь вводил три цифры кода телефона, курсор перескакивал в третье поле автоматом???

может начал что то не так, кто что подскажет?

  Ответить  
 
 автор: Гамлет   (23.03.2009 в 11:46)   личное сообщение
 
 

У поля есть св-во AutoTab установите его в True

  Ответить  
 
 автор: Мюллер   (23.03.2009 в 11:51)   личное сообщение
 
 

Если так нравится обрабатывать события типа change(), то проверяйте длинну поля на этом событии. Если длинна больше 3, то передавайте фокус на следующее поле.

  Ответить  
 
 автор: joka   (23.03.2009 в 12:26)   личное сообщение
 
 

а длина поля как проверяется? т(просто интересно на будущее)... хотя наверно авто-табуляции мне хватит вполне щас попробую:)

  Ответить  
 
 автор: joka   (23.03.2009 в 12:32)   личное сообщение
 
 

кстати, щас поглядел по умолчанию поставил +7 а в поле отобразилось только 7 надо особую маску ввода какую-то?

  Ответить  
 
 автор: Дрюня   (23.03.2009 в 12:49)   личное сообщение
 
 

длину можно определить через Len(имя_поля), у Вас с учетом части поля
вроде как # в маске допускает ввод только цифирь 0-9

  Ответить  
 
 автор: joka   (23.03.2009 в 12:59)   личное сообщение
 
 

кстати а если есть три поля в одном +7 , во втором и в третьем по 3и 6 цифр соответственно... можно ли какт осделать чтобы это сохранялось как единая строка в ячейку таблицы??? надо писать код на VBA или можно как нибудь это решить настройками свойств и взаимосвязей полей?

  Ответить  
 
 автор: Мюллер   (23.03.2009 в 13:10)   личное сообщение
 
 

string значение=Поле1+Поле2+Поле3;

  Ответить  
 
 автор: Мюллер   (23.03.2009 в 13:16)   личное сообщение
 
 

Да уж.... написал так написал....
dim znach as string
znach = Поле1.Value & Поле2.Value & Поле3.Value
znach даст нужное вам значение

  Ответить  
 
 автор: joka   (23.03.2009 в 13:45)   личное сообщение
 
 

это я понимаю:) кое что из азов то я знаю:)
просто обычно как допустим ест ьполе в таблице "номер телефона"
делаешь поле на форме, например "ПолеТ" и в свойствах этого поля - "данные" выбираешь поле таблицы и при вводе нолмера он автоматом в таблицу пишется...
а как быть если номер делится на три поля... объединить в строку то я могу а как связать эту строку с таблицей???

не знаю понятно ли объяснил свое непонимание:)?

  Ответить  
 
 автор: Мюллер   (23.03.2009 в 14:06)   личное сообщение
 
 

Использовать
CurrentDB.Execute "INSERT INTO (Таблица.ПолеТаблицы) VALUES ('" & znach & "')"

либо же вместо INSERT использовать UPDATE. В зависимости от того, что вы делаете - добаляете или обновляете данные.

  Ответить  
 
 автор: Анатолий (Киев)   (23.03.2009 в 14:08)   личное сообщение
 
 

Допустим, в таблице-источнике формы есть поле "ПолеТ"
Поле1, Поле2, Поле3 - свободные, т.е. ни с чем не связаны. На событие AfterUpdate каждого из них собираете строку и: Me![ПолеТ] =строка
Но я бы на вашем месте сделал в таблице три поля и указал для каждого макс. кол-во символов. В запросе на выборку их всегда можно соединить.

  Ответить  
 
 автор: joka   (23.03.2009 в 14:52)   личное сообщение
 
 

да до этого способа тоже сам уже дошел но я проверяю еще на isnull и только тогда осуществляю присваивание... н ов таком случае потмо не получается стереть номер:)

  Ответить  
 
 автор: joka   (23.03.2009 в 15:00)   личное сообщение
 
 


да до этого способа тоже сам уже дошел но я проверяю еще на isnull и только тогда осуществляю присваивание... н ов таком случае потмо не получается стереть номер:)


это я уже тоже решил!
а можно ли сделать так чтобы формат ввода был например таким "-" "---" " -------"
это для того, чтобы если я не ввел код (то есть телефон прямой) в базу так и записались тире.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList