Об'єднання текстових значень за допомогою виразів
Коли необхідно об'єднати значення декількох текстових полів, створюється вираз з оператором "амперсанд" ( ). Припустимо, існує форма під назвою "Співробітники". Ім'я та прізвище кожного із співробітників вводяться в окремі поля, а в заголовку форми необхідно відобразити і ім'я, і прізвище.
Щоб відобразити ім'я повністю, можна скористатися наступним виразом:
= [Ім'я] "" [Прізвище]
У вираженні для об'єднання значень з полів "Ім'я" і "Прізвище" використовується оператор . У вираженні також використовуються подвійні лапки ( "), розділені пропуском, який необхідний, щоб додати пробіл між ім'ям і прізвищем. Якщо між двома полями необхідно щось вставити (наприклад, пробіл, знак пунктуації або літерал), додаткове значення потрібно взяти в лапки.
В якості ще одного прикладу можна навести такий вираз, що відображає ім'я і прізвище, розділені комою з пропуском:
= [Ім'я] "," [Прізвище]
В даному випадку вираз вставляє між полями "Ім'я" і "Прізвище" кому і пробіл в лапках.
Описані в цій процедурі дії припускають наявність форми з полями "Ім'я" і "Прізвище". Вираз в дії 6 можна змінити так, щоб воно відповідало існуючим даними.
Додавання текстового поля з виразом для імен
В області переходів клацніть правою кнопкою миші форму або звіт, яку необхідно змінити, і в контекстному меню виберіть команду Конструктор.
На вкладці Конструктор у групі Елементи керування натисніть кнопку Поле.
Щоб створити текстове поле, перетягніть покажчик на формі або в звіті.
Клацніть правою кнопкою миші текстове поле, а потім виберіть у контекстному меню команду Властивості.
У вікні властивостей виберіть вкладку Дані.
Змініть значення в полі властивості Дані для = [ім'я] "" [Прізвище].
Закрийте вікно властивостей і збережіть зміни.
Іноді одне з полів, яке необхідно об'єднати, може не містити значень. Таке значення називається значенням NULL. При використанні оператора з полем без значення Microsoft Access повертає для цього поля порожній рядок. Наприклад, якщо запис співробітника містить тільки прізвище, вираз в попередньому прикладі поверне порожній рядок для поля "Ім'я", символ пробілу і значення поля "Прізвище".
1. Оскільки в поле "Ім'я" немає даних, тексту "Куликов" передує порожній рядок і пробіл.
При об'єднанні значень з декількох полів в новий рядок може знадобитися включати в неї значення (наприклад, кому) тільки при наявності даних в певному полі. Щоб включити значення за умовою, замість оператора для об'єднання полів використовується оператор +. Припустимо, що є таблиця під назвою "Замовник", в якій містяться поля "Місто", "Область" і "Індекс". Для звіту необхідно об'єднати значення з цих полів, але у деяких записів в поле "Область" може бути відсутнім значення. В цьому випадку при використанні оператора для об'єднання полів перед індексом виникає непотрібна кома.
Щоб її позбутися, можна скористатися оператором "плюс" (+), як показано в наступному прикладі вираження:
= ([Місто] ( "," + [Область]) "" [Індекс])
Оператор + об'єднує текст так само, як і оператор . При цьому оператор + підтримує дію, яке називається поширення значення NULL. Якщо при використанні поширення значення NULL будь-який компонент вираження містить значення NULL, то все результат вираження також буде значенням NULL. Розглянемо частину виразу ( "," + [Область]) з попереднього прикладу. Внаслідок використання оператора + вираз, що оцінюється в дужках, містить кому тільки при наявності значення в поле "Область". Якщо це значення відсутній, спрацьовує поширення значення NULL і вираженню в дужках присвоюється значення NULL, завдяки чому кома не виводиться.
1. Записи, які містять значення області, відображаються з коми, прогалиною і назвою області.
2. Для запису із значенням "Москва" в поле "Місто" область не вказана, тому результат виразу відображається без коми, прогалини і назви області.