2011-08-11 96 views
2

我的問題電話號碼面膜 - 國際的

我的客戶聯繫人數據庫具有不同於它在世界各地各種各樣的客戶,這將導致我的電話號碼的一些問題 - 因爲格式化的其他國家的不同方法。所以我的問題是,首先,因爲我也有一個國家領域 - 根據客戶所在的國家,是否有可能改變面具類型?

例子:

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

X - 一種數字

佔位請問這是可能的嗎?

+2

它是一臺電腦。當然這是可能的。然而,現在我們無法爲您提供幫助,因爲您沒有告訴我們這些數字是用於什麼,爲什麼需要將它們按特定方式格式化等。您是否需要在網站上顯示這些數據?你需要將它保存到數據庫嗎? – leoger

+0

@ HK1我想保留你對我刪除答案的評論。如果您願意,我也會刪除這些。這是第一個:我構建了一個像這樣的系統,並將輸入掩碼存儲在我的表tblCountries中。以下是一些例子:澳大利亞:!0 \ -0000 \ -0000 ;; _香港:!0000 \ -0000 ;; _波蘭:!00 \ -000 \ -00 \ -00 ;; _ Brazil:!00 \ -0000 \ -0000 ;; _西班牙:!000 \ -000 \ -000 ;; _ – HansUp

+0

第二:您遇到的其中一個問題是許多國家/地區都有可變長度的電話號碼。我最終做了一個撥號註釋字段,並填入下列信息:香港的所有電話號碼都是8位數字。 – HansUp

回答

1

Hans提到他無法在運行時獲得輸入掩碼更改 - 我沒有看到他以前的答案,但這似乎適用於我。我的表單有一個國家下拉菜單(cmbCountry)和一個電話文本框。我的組合框(cmbCountry)綁定到一個表格(Row Source = 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 
+0

類似的,但我沒有應用相當於你的'tbPhone.InputMask = sMask' ...沒有錯誤消息,但InputMask沒有改變。所以我按照你的建議在設計視圖中刪除了InputMask後保存了表單。然後我的代碼在運行時改變了掩碼。不過,我然後用面具保存了表格,然後返回到表單視圖中,我的原始表單仍然工作。我不知道我以前出錯的地方。 – HansUp

+0

也許你可以重新發布你的原始答案,以便@Colin可以給你分數? – transistor1

+0

謝謝,但沒有。你的更好。 – HansUp