Строковые функции и их использование
Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

С помощью строковых функций в Access можно создавать выражения, которые управляют текстом различными способами. Например, может потребоваться отобразить в форме только часть серийного номера. Кроме того, может потребоваться объединить (объединить) несколько строк, например фамилию и имя. Если вы еще не разбираелись в выражениях, см. статью Создание выражения.

Ниже приведен список некоторых из наиболее распространенных строковых операций в Access и функций, которые вы будете использовать для их выполнения:

Действие

Функция

Пример

Результаты

Возврат знаков с начала строки

Левая функция

=Left([СерийныйНомер],2)

Если [СерийныйНомер] = "CD234", результат — "CD"

Возврат знаков с конца строки

Функция Right

=Right([СерийныйНомер],3)

Если [СерийныйНомер] = "CD234", результат — "234"

Поиск позиции знака в строке

Функция InStr

=InStr(1,[Имя],"к")

Если [Имя] = "Алексей", результат — 4

Возврат знаков из середины строки

Функция Mid

=Mid([СерийныйНомер],2,2)

Если [СерийныйНомер] = "CD234", результат — "D2"

Удаление начальных и конечных пробелов из строки.

Функции LTrim, RTrim и Trim

=Trim([Имя])

Если [Имя] = " Алексей ", результатом будет: "Алексей".

Объединение двух строк

Оператор "знак плюс" (+)*

=[Имя] + [Фамилия]

Если [Имя] = "Алексей", а [Фамилия] = "Орехов", результат — "АлексейОрехов"

Объединение двух строк с пробелом между ними

Оператор "знак плюс" (+)*

=[Имя] + " " + [Фамилия]

Если [Имя] = "Алексей", а [Фамилия] = "Орехов", результат — "Алексей Орехов"

Изменения регистра строки на верхний или нижний

Функция UCase или функция LCase

=UCase([Имя])

Если [Имя] = "Алексей", результат — "АЛЕКСЕЙ"

Определение длины строки

Функция Len

=Len([Имя])

Если [Имя] = "Алексей", результат — 7

* Итак, это не функция, а оператор. Однако это самый быстрый способ соединения строк. В классической базе данных также можно использовать оператор амперсанд (&) для объединения.

В Access существует множество других функций, связанных с текстом. Чтобы узнать больше о них, можно открыть построитель выражений и просмотреть списки функций. Построитель выражений доступен практически в любом месте, где вы хотите создать выражение. Обычно есть небольшая кнопка Сборка , которая выглядит следующим образом: Изображение кнопки

Чтобы познакомиться с построителем выражений, давайте откроем его из свойства Данные формы или представления. Используйте одну из приведенных ниже процедур в зависимости от того, используете ли вы классическую базу данных или веб-приложение Access.

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

  1. Откройте базу данных на компьютере (ACCDB-файл).

  2. Если область навигации еще не открыта, откройте ее с помощью клавиши F11.

  3. Если у вас уже есть какая-нибудь форма, щелкните ее в области навигации правой кнопкой мыши и выберите пункт Режим макета. Если форм у вас пока нет, на вкладке Создание нажмите Форма.

  4. Щелкните правой кнопкой мыши текстовое поле в форме и выберите пункт Свойства.

  5. На странице свойств щелкните Все элементы управления > и нажмите кнопку Сборка Изображение кнопки в правой части окна свойства Control Source (Источник управления ).Кнопка "Сборка" на странице свойств.

  6. В разделе Элементы выражений разверните узел Функции и выберите пункт Встроенные функции.

  7. В разделе Категории выражений выберите пункт Текстовые.

  8. В разделе Значения выражений выберите интересующие вас функции и прочитайте их краткое описание в нижней части построителя выражений.

    Примечание:  Не каждая из этих функций доступна в любом контексте. Access автоматически фильтрует список в зависимости от контекста.

Комбинирование текстовых функций для большей гибкости

Иногда при каждом вызове строковой функции приходится заново вычислять ее числовые аргументы. Например, функция Left принимает строку и число, как здесь: =Left([СерийныйНомер], 2). Хорошо, если вам всегда требуются именно два первых знака строки, но иногда нужное число знаков для разных элементов различно. Вместо того чтобы однозначно задавать число знаков, его можно вычислять с помощью другой функции.

Ниже приведен пример серийных номеров, каждый из которых имеет дефис в строке. Однако положение дефиса меняется:

[СерийныйНомер]

3928-29993

23-9923

333-53234

3399940-444

Предположим, вы хотите получить левую часть номеров (до дефиса), и тогда каждый раз нужно вычислять, где он расположен. Вот один из способов:

=Left([СерийныйНомер],InStr(1,[СерийныйНомер],"-")-1)

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

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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