2014-09-25 5 views
1

Я очень новичок в MS Access. У меня есть список имен, подобных этому в столбце моего доступа, и вам нужно будет обрезать имена, как показано ниже.Имя Trim в MS Access

Имена:

Clooney, George Timothy 
    Willam Pitt, Brad 
    Wilson, Larry 

Ожидаемый вывод:

Clooney, George 
    Willam, Brad 
    Wilson, Larry 

мне нужно иметь первое слово до и после запятой. Кроме того, помимо этого мне нужно добавить пробел после запятой.

Действительно оцените предложения.

+0

Я очень новичок в поиске и поиске помощи. Извините, что сказал, что я много пробовал, и ничто не помогло мне. 'SELECT LEFT (UserName, INSTRREV (UserName," "))' – Michael

+0

Какую версию Access вы используете? Использовать теги бесполезно, лучше определить тег, который точно соответствует вашей среде. –

+0

Я использую access 2007. Извините за тег. – Michael

ответ

1

Возможно, вы сможете достичь этого с помощью пользовательской функции. Возможно, что-то подобное. Скопируйте код в стандартный модуль и затем скомпилируйте его.

Public Function getFirstName(inputStr As String) As String 
'******************** 
'Code Courtesy of 
' Paul Eugin 
'******************** 
    Dim tmpArr() As String, retStr As String 
    Dim iCtr As Integer, charPos As Integer 

    'Strip the Input String to an Array. 
    tmpArr = Split(inputStr, ",") 

    'Loop through the Array 
    For iCtr = 0 To UBound(tmpArr) 
     'Find the position of the SPACE character 
     charPos = InStr(Trim(tmpArr(iCtr)), " ") 

     'If the position is not found, return the whole string 
     If charPos = 0 Then charPos = Len(tmpArr(iCtr)) 

     'Append the result String 
     retStr = retStr & Trim(Left(tmpArr(iCtr), charPos)) & ", " 
    Next 

    'Finally return the actual generated String 
    getFirstName = Left(retStr, Len(retStr) - 2) 
End Function 

Чтобы использовать это в немедленном окне, используйте его как,

? getFirstName("Wilson, Larry") 
Wilson, Larry 

? getFirstName("Clooney, George Timothy") 
Clooney, George 

Это также может быть использован в запросе.

SELECT 
    yourTableName.yourFieldName, 
    getFirstName(yourTableName.yourFieldName) As NewFieldName 
FROM 
    yourTableName; 
Смежные вопросы