Маска номера телефона - Интернационалы - PullRequest
2 голосов
/ 11 августа 2011

Моя проблема

Моя база данных контактов с клиентами имеет множество клиентов со всего мира, и это вызывает некоторые проблемы с моими телефонными номерами - из-за различных методов форматирования в других странах.Итак, мой вопрос, во-первых, так как у меня также есть поле страны - возможно ли изменение типа маски в зависимости от страны, в которой находится клиент?

Пример:

In Canada -> (xxx)xxx-xxxx
In Australia -> (xx) xxxx-xxxx
In South Africa -> xx (x) xx-xxx-xxxx

x - заполнитель для чисел

Возможно ли это?

1 Ответ

1 голос
/ 18 августа 2011

Ханс упомянул, что он не мог изменить маску ввода во время выполнения - я не видел его предыдущий ответ, но, похоже, это работает для меня.Моя форма имеет раскрывающийся список для страны (cmbCountry) и текстовое поле для телефона.Мое поле со списком (cmbCountry) привязано к таблице (Источник строки = SELECT [_ masks].Country, [_ masks].Mask FROM [_ masks];).Поле «маски» скрыто, если его ширина равна нулю.

Я также привязал форму к таблице, в которой хранятся страны и номера телефонов.Когда меняется страна или меняется запись, я меняю свойство ListIndex.

К вашему сведению - я сделал не , чтобы задать маску ввода для любого значения по умолчанию в режиме «Дизайн».@ HansUp, это похоже на то, что у вас уже было?Извините, если я отвечаю на вопрос таким же образом.

В коде формы:

Private Sub cmbCountry_Change()
    Dim sMask
    If cmbCountry.ListIndex > -1 Then
        sMask = cmbCountry.Column(1, cmbCountry.ListIndex)
        tbPhone.InputMask = sMask
    End If
End Sub

Private Sub Form_Current()
    cmbCountry_Change
End Sub
...