Страница 1 из 1
Импорт и преобразование из excel в access 2003
Добавлено: 08 ноя 2010, 15:28
jen9tko
День добрый!
Столкнулся с задачей:
Есть телефонные номера, хранящиеся в файлах excel в различном виде (например, xxxxxxxxxx, (xxx)-xxxxxxx и т.д.)
могу ли я их автоматически привести при импортировании к виду по маске xxx-xxxxxxx без редактирования вручную в access или excel?
Re: Импорт и преобразование из excel в access 2003
Добавлено: 12 ноя 2010, 22:20
AlexZZZ
Воспользуйтесь нижеприведённой функцией PhoneNumber, подставив в качестве аргумента исходный номер телефона.
Код: Выделить всё
Const Mask = "xxx-xxxxxxx"
Function PhoneNumber(Number As String) As String
Dim n As Byte, prefix As Byte, Str As String
For n = 1 To Len(Number)
Select Case prefix
Case Is = 0
If Mid(Number, n, 1) = "+" Then _
prefix = 1
If Len(Str) = 0 And Mid(Number, n, 1) = 8 Then
prefix = 2
Else
Str = Str & PhN(Number, n)
End If
Case Is = 1
If Mid(Number, n, 1) <> 7 Then
Str = Str & PhN(Number, n)
prefix = 2
End If
Case Is = 2
Str = Str & PhN(Number, n)
End Select
If Len(Str) = Len(Mask) Then _
Exit For
If Mid(Mask, Len(Str) + 1, 1) = "-" Then _
Str = Str & "-"
Next n
PhoneNumber = Str
End Function
Function PhN(Number As String, n As Byte) As String
If Val(Mid(Number, n, 1)) > 0 Then
PhN = Mid(Number, n, 1)
Else
If Mid(Number, n, 1) = 0 Then _
PhN = 0
End If
End Function
Re: Импорт и преобразование из excel в access 2003
Добавлено: 17 ноя 2010, 13:20
jen9tko
Спасибо Вам большое.