Преобразование значений данных типа текстовых данных в подходящий формат в Microsoft Access

Примечание

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Умеренный: требуются базовые навыки макроса, кодирования и интероперабельности.

Эта статья применяется к файлу базы данных Microsoft Access (.mdb) или к файлу базы данных Microsoft Access (.accdb).

Сводка

В этой статье описывается преобразование значений данных типа текстовых данных в подходящий формат.

Дополнительные сведения

Значения данных типа текстовых данных можно преобразовать в нужный формат дела с помощью одного из следующих методов:

  • Метод 1. Использование функции преобразования Built-In строки
  • Метод 2. Использование функции User-Defined

Примечание Прежде чем использовать любой из этих методов, создайте пример таблицы с именем MyTestTextList. Для этого выполните следующие действия:

  1. Создание новой пустой базы данных в Access.

  2. Создайте новую таблицу со следующими полями:

    Field Name: testText
    Data Type: Text
    
  3. Сохраните таблицу в качестве MyTestTextList.

  4. Добавьте в таблицу следующий пример testText:

    the cOw jumped Over the MOON
    
    THE QUICK BROWN FOX jUmped over THE lazy DOG 
    
    
  5. Сохраните базу данных в качестве MyTestDatabase.

Метод 1. Использование встроенной функции преобразования строк

  1. Откройте базу данных MyTestDatabase в Access.

  2. В меню Insert щелкните Запрос.

    Примечание В Microsoft Office Access 2007 или более поздней версии щелкните Дизайн запроса в другой группе на вкладке Создание.

  3. В диалоговом окне "Новый запрос" нажмите кнопку Просмотр дизайна.

    Примечание В access 2007 или более поздней версии пропустите этот шаг.

  4. В диалоговом окне Show Table нажмите кнопку Закрыть.

  5. В меню Просмотр нажмите кнопку SQL View.

    Примечание В access 2007 или более поздней версии щелкните SQL в группе Результаты на вкладке Design.

  6. Введите следующий код в представлении SQL:

    SELECT testText, STRCONV(testText,3) as  TestText_in_Proper_Case FROM MyTestTextList
    
  7. В меню Запрос нажмите кнопку Выполнить.

    Примечание В access 2007 или более поздней версии нажмите кнопку Выполнить в группе Результаты на вкладке Design.

    Вывод запроса следующим образом:

    TestTextTestText_in_Proper_Case
    the cOw jumped Over the MOONThe Cow Jumped Over The Moon
    THE QUICK BROWN FOX jUmped overTHE lazy DOG The Quick Brown Fox Jumped Over The Lazy Dog
    

Примечание Метод StrConv (3) преобразует первую букву каждого слова в <Text> тексте в верхний шкаф. Такое поведение происходит только тогда, когда слова разделены пробелом или вкладками. StrConv не относится к специальным символам, таким как - или $, как к слову сепаратор.

Метод 2. Использование функции, определяемой пользователем

  1. Откройте базу данных MyTestDatabase в Access.

  2. В меню Вставка выберите пункт Модуль.

    Примечание В access 2007 или более поздней версии щелкните стрелку падения под макрос в другой группе на вкладке Создание.

  3. Введите следующий код в текущем модуле и сохраните изменения.

    Function Proper(X)
    Capitalize first letter of every word in a field.
    
    Dim Temp$, C$, OldC$, i As Integer
    
    If IsNull(X) Then
    
    Exit Function
    
    Else
    
    Temp$ = CStr(LCase(X))
    
    ' Initialize OldC$ to a single space because first
            ' letter must be capitalized but has no preceding letter.
    
    OldC$ = " "
    
    For i = 1 To Len(Temp$)
                    C$ = Mid$(Temp$, i, 1)
                    If C$ >= "a" And C$ <= "z" And (OldC$ < "a" Or OldC$ > "z") Then
                          Mid$(Temp$, i, 1) = UCase$(C$)
                    End If
                    OldC$ = C$
             Next i
    
    Proper = Temp$
    
    End If
    
    End Function
    

    Примечание Для правильной работы функции необходимо указать базу данных параметра Сравнение в разделе "Объявления" этого модуля.

  4. В меню Файл нажмите кнопку Закрыть и вернуться к Microsoft Access.

    Примечание В меню Файл нажмите кнопку Закрыть для доступа 97.

  5. В меню Insert щелкните Запрос.

    Примечание В access 2007 или более поздней версии щелкните Дизайн запроса в другой группе на вкладке Создание.

  6. В диалоговом окне "Новый запрос" нажмите кнопку Просмотр дизайна.

    Примечание В access 2007 или более поздней версии пропустите этот шаг.

  7. В диалоговом окне Show Table нажмите кнопку Закрыть.

  8. В меню Просмотр нажмите кнопку SQL View.

    Примечание В access 2007 или более поздней версии щелкните SQL в группе Результаты на вкладке Design.

  9. Введите следующий код в представлении SQL:

    SELECT testText, proper(testText) as  testText_in_Proper_Case FROM MyTestTextList
    

    Обратите внимание, что этот запрос похож на запрос в Методе 1. Это исключение, за исключением вызова функции.

  10. В меню Запрос нажмите кнопку Выполнить.

    Примечание В access 2007 или более поздней версии нажмите кнопку Выполнить в группе Результаты на вкладке Design.

    Вывод запроса следующим образом:

    TestTextTestText_in_Proper_Case
    the cOw jumped Over the MOONThe Cow Jumped Over The Moon
    THE QUICK BROWN FOX jUmped overTHE lazy DOG The Quick Brown Fox Jumped Over The Lazy Dog
    

Хотя выход обоих методов аналогиен, Метод 2 позволяет выбрать любой формат дела. Это включает выбранный сепаратор слов, например - или _. Можно определить требуемую форму дела или определить сепаратор слова. Это можно сделать, если изменить правильную функцию, упомянутую в шаге 3.