Преобразование значений данных типа "Текст" в правильный формат регистра в Microsoft Access
Средний. Требуются базовые навыки макроса, программирования и взаимодействия.
Эта статья применима к файлам баз данных Microsoft Access (.mdb) или (.accdb).
Сводка
В этой статье описывается преобразование значений данных типа "Текст" в правильный формат регистра.
Дополнительная информация
Значения данных типа "Текст" можно преобразовать в правильный формат регистра с помощью одного из следующих методов:
- Метод 1. Использование функции преобразования строк Built-In
- Метод 2. Использование функции User-Defined
Примечание Прежде чем использовать любой из этих методов, создайте пример таблицы с именем MyTestTextList. Для этого выполните следующие действия:
Создайте пустую базу данных в Access.
Создайте таблицу со следующими полями:
Field Name: testText Data Type: Text
Сохраните таблицу как MyTestTextList.
Добавьте следующий пример testText в таблицу:
the cOw jumped Over the MOON THE QUICK BROWN FOX jUmped over THE lazy DOG
Сохраните базу данных как MyTestDatabase.
Способ 1. Использование встроенной функции преобразования строк
Откройте базу данных MyTestDatabase в Access.
В меню Вставка щелкните Запрос.
Примечание В Microsoft Office Access 2007 или более поздней версии щелкните Конструктор запросов в группе Другие на вкладке Создание .
В диалоговом окне Новый запрос щелкните Конструктор.
Примечание В Access 2007 или более поздней версии пропустите этот шаг.
В диалоговом окне Показать таблицу нажмите кнопку Закрыть.
В меню Вид выберите пункт Представление SQL.
Примечание В Access 2007 или более поздней версии щелкните SQL в группе Результаты на вкладке Конструктор .
В представлении SQL введите следующий код:
SELECT testText, STRCONV(testText,3) as TestText_in_Proper_Case FROM MyTestTextList
В меню Запрос выберите команду Выполнить.
Примечание В Access 2007 или более поздней версии нажмите кнопку Выполнить в группе Результаты на вкладке Конструктор .
Ниже приведены выходные данные запроса:
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(<Text,3>) преобразует первую букву каждого слова в тексте в верхний регистр. Это происходит только в том случае, если слова разделяются пробелом или вкладкой. StrConv не обрабатывает специальные символы, такие как - или $, как разделитель слов.
Способ 2. Использование определяемой пользователем функции
Откройте базу данных MyTestDatabase в Access.
В меню Вставка выберите пункт Модуль.
Примечание В Access 2007 или более поздней версии щелкните стрелку раскрывающегося списка в разделе Макрос в группе Другие на вкладке Создать .
Введите следующий код в текущем модуле и сохраните изменения.
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
Примечание Чтобы функция работала правильно, необходимо указать Базу данных сравнения вариантов в разделе "Объявления" этого модуля.
В меню Файл выберите закрыть и вернуться в Microsoft Access.
Примечание В меню Файл выберите команду Закрытьдля access 97.
В меню Вставка щелкните Запрос.
Примечание В Access 2007 или более поздней версии щелкните Конструктор запросов в группе Другие на вкладке Создать .
В диалоговом окне Новый запрос щелкните Конструктор.
Примечание В Access 2007 или более поздней версии пропустите этот шаг.
В диалоговом окне Показать таблицу нажмите кнопку Закрыть.
В меню Вид выберите пункт Представление SQL.
Примечание В Access 2007 или более поздней версии щелкните SQL в группе Результаты на вкладке Конструктор .
В представлении SQL введите следующий код:
SELECT testText, proper(testText) as testText_in_Proper_Case FROM MyTestTextList
Обратите внимание, что этот запрос аналогичен запросу в методе 1. Это за исключением вызова функции.
В меню Запрос выберите команду Выполнить.
Примечание В Access 2007 или более поздней версии нажмите кнопку Выполнить в группе Результаты на вкладке Конструктор .
Ниже приведены выходные данные запроса:
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 дает возможность выбрать любой формат регистра. Сюда входит выбранный разделитель слов, например - или _. Можно определить требуемый формат регистра или разделитель слов. Это можно сделать, если изменить функцию Proper, упомянутую на шаге 3.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по