2013-09-25 169 views
0

對不起,另一個關於MsAccess的問題。格式化電話號碼ms access

我有數據集:

Phone Number 
444-514-9864 
555-722-2273 
333-553- 4535 
000-000- 0000 
550-322-6888 
444-896-5371 
322-533-1448 
222.449.2931 
222.314.5208 
222.745.6001 

我需要它看起來像(222)896-5371。 如何在Ms Access或MsExcel中執行此操作?

+0

你願意爲此使用VBA嗎?有一種簡單的方法可以在vba – Gutanoth

+0

中做到這一點,如果它可能在vba中做到這一點,並比使用Replace函數更容易....請解釋我該如何做。謝謝! –

+0

嗯,我確實使用了替換函數(請參閱我的答案),但是也可以篩選出2個不同字符串變量(前綴和後綴)中的前3個數字和最後7個字符,然後最後執行下列操作:'Newphonenumber =「(」&前綴&「)」&後綴 – Gutanoth

回答

1

您可以使用Instr ,中,左,右功能來完成這項工作。我做了1個例,與MSDN你應該能夠找出休息

Dim OldPhoneNumber As String 
Dim NewPhoneNumber As String 
Dim PreFix As String 
Dim PreFix2 As String 

' You can replace this line in Access, just make sure the full phone number is stored in "OldPhoneNumber" 
OldPhoneNumber = Worksheets(<worksheet name>).Range(<cell name>).Value 


PreFix = Left(OldPhoneNumber, InStr(1, OldPhoneNumber, "-", 1)) 
PreFix2 = Left(OldPhoneNumber, InStr(1, OldPhoneNumber, "-", 1) - 1) 

NewPhoneNumber = Replace(OldPhoneNumber, PreFix, "(" & PreFix2 & ") ") 

Debug.Print (NewPhoneNumber) 

看到,因爲並非所有的電話號碼的格式相同的方式,你將不得不作出一個不同的規則爲每一個不同格式的手機號(需要1來檢查「 - 」「」和一個檢查您可能還需要篩選出空間

0

在訪問您設置的 「輸入掩碼」 來:「(」 000 「) 」000「 - 」 0000; 1; _

所有引用http://office.microsoft.com/en-ca/access-help/input-mask-syntax-and-examples-HP005187550.aspx

+0

不幸的是,它不起作用。即使在應用蒙版之後,+1.444.854.5100尚未更改爲(444)854-5100我的字段已經有電話號碼。蒙版僅適用於新輸入 –

+0

也許創建一個[宏](http://office.microsoft.com/en-ca/access-help/create-a-macro-HA010030811.aspx) – MasterT

0

輸入掩碼將只對新數據的工作,你將需要創建一個宏或函數來更新您現有的數據以符合您所需的格式