Визначення умов

Умови являють собою логічні вирази, які можна використовувати для керування відображенням полів та розділів в документі. Незважаючи на те, що наведені приклади стосуються полів, вони також застосовні і до розділів.

Умови можуть бути визначені для наступних типів полів:

  1. Текст з умовою: відображає текст, А, якщо умова істинна, або текст Б, якщо умова хибна.

  2. Прихований текст: якщо умова істинна, то приховує вміст поля.

  3. Прихований абзац: приховує абзац, якщо умова істинна.

  4. Будь-який запис та Наступний запис: керування доступом до записів бази даних.

Найпростіший спосіб визначити умову - ввести логічний вираз безпосередньо у поле Умова , використовуючи такі значення:

TRUE

Умова завжди виконується. Можна замість тексту умови ввести будь-яке значення, не рівне 0.

FALSE

Умова не виконується. Можна також ввести значення 0.


note

Якщо залишити поле Умова порожнім, умова вважатиметься невиконаною.


Визначаючи умову, використовуйте такі ж елементи, як для визначення формули, а саме: оператори порівняння, математичні і статистичні функції, формати чисел, змінні і константи.

При визначенні умови можна використовувати такі типи змінних:

  1. Передвизначені змінні LibreOffice, що використовуються в статистичних властивостях документа

  2. Користувацькі змінні, створені за допомогою поля "Встановити змінну"

  3. Змінні на основі даних користувача

  4. Змінні на основі вмісту полів бази даних

У виразах умов не можна використовувати внутрішні змінні, такі як номери сторінок і розділів.

Умови і змінні

У наведених прикладах використовується змінна "х":

x == 1 або x EQ 1

Умова істинна, якщо "х" дорівнює 1.

x != 1 або x NEQ 1

Умова істинна, якщо "х" не дорівнює 1.

sinx == 0

Умова істинна, якщо "х" кратне пі.


Щоб застосувати оператори порівняння до рядків, операнди слід брати у подвійні лапки:

x == "ABC" або x EQ "ABC"

Перевіряє, чи містить змінна "х" рядок "ABC" (true), чи не містить (false).

x == "" або x EQ ""

або

!x або NOT x

Перевіряє, чи містить змінна "х" порожній рядок.


note

Оператор порівняння "дорівнює" в умові слід записувати двома знаками рівності (==). Наприклад, якщо змінній "х" надано значення 1, умову можна ввести у вигляді x==1.


Відомості про користувача

Визначаючи умови, можна включати відомості про користувача. Щоб змінити дані користувача виберіть - LibreOffice - Відомості про користувача. Відомості про користувача вводяться у вигляді рядків. Для запиту користувацьких даних можна використовувати оператори "==" (EQ), "!=" (NEQ) або "!"(NOT).

В таблиці перелічено змінні для користувацьких даних та їхні значення:

Змінна

Значення

user_firstname

Ім'я

user_lastname

Прізвище

user_initials

Ініціали

user_company

Компанія

user_street

Вулиця

user_country

Країна

user_zipcode

Поштовий індекс

user_city

Місто

user_title

Заголовок

user_position

Позиція

user_tel_work

Робочий телефонний номер

user_tel_home

Номер домашнього телефону

user_fax

Номер факсу

user_email

Email address

user_state

Область (не у всіх версіях LibreOffice)


Наприклад, щоб приховати абзац, текст або розділ від користувача з певними ініціалами, наприклад, «ЛМ», введіть умову: user_initials==«ЛМ».

Умови і поля бази даних

Можна визначити умови для доступу до баз даних або полів баз даних. Наприклад, можна перевірити вміст поля бази даних з умови або використати поля бази даних в логічних виразах. В таблиці наведено ще декілька прикладів використання баз даних в умовах:

Приклад

Значення

База даних.Таблиця.Компанія

База даних.Таблиця.Компанія NEQ ""

База даних.Таблиця.Компанія != ""

Умова істинна, якщо поле COMPANY не порожнє. (У першому прикладі оператор не потрібен.)

!База даних.Таблиця.Компанія

Не база даних.Таблиця.Компанія

База даних.Табиця.Компанія EQ ""

База даних.Таблиця.Компанія ==""

Повертає TRUE, якщо поле COMPANY порожнє.

База даних.Таблиця.Компанія ==""

База даних.Таблиця.Компанія NEQ ""

Повертає TRUE, якщо поточне значення у полі COMPANY відрізняється від "Sun". (Знак оклику позначає логічне заперечення.)

БазаДаних.Таблиця.Імя AND БазаДаних.Таблиця.Прізвище

Повертає значення TRUE, якщо запис містить ім'я і прізвище.


note

Зверніть увагу на відмінність між логічним НЕ ("!") й оператором порівняння "не дорівнює" "!=" (NEQ).


При звертанні до поля бази даних в умові використовуйте форму "БазаДаних.НазваТаблиці.НазваПоля". Якщо одна з назв містить символ, який є оператором, наприклад, знак "мінус" (-), візьміть назву в квадратні дужки, наприклад, БазаДаних.[Назва-Таблиці].НазваПоля. Ніколи не використовуйте пропуски в назвах полів.

Приклад: Приховування порожнього поля бази даних

Можна створити умову, яка приховує порожнє поле, наприклад, якщо поле КОМПАНІЯ порожнє для деяких записів даних.

Виберіть елемент списку Прихований абзац і введіть таку умову: АдреснаКнига.Адреси.Компанія EQ ""

або друкують наступне

Не адресна книга.Адреси.Компанія

Якщо поле бази даних КОМПАНІЯ порожнє, умова істинна і абзац буде приховано.

note

To display hidden paragraphs on the screen, choose - LibreOffice Writer - View, and clear the Hidden paragraphs check box.


Приклади умов у полях

В наступних прикладах використовується поле "Текст з умовою", однак вони можуть бути застосовані до будь-яких полів, які можуть бути пов'язані з умовою. Синтаксис, що використовується для умов, також використовується для полів "Прихований текст", "Прихований абзац", "Будь-який запис" або "Наступний запис".

Щоб показати умовний текст на основі числа сторінок:

  1. Виберіть Вставка - Поле - Інші поля і клацніть вкладку Функції.

  2. У списку Тип виберіть поле «Текст з умовою».

  3. У поле Умова введіть "page == 1".

  4. У поле То введіть "Є лише одна сторінка".

  5. У поле Або введіть "Є декілька сторінок".

  6. Натисніть Вставити, і потім натисніть Закрити.

Щоб відобразити умовний текст на основі визначеної користувачем змінної

  1. Виберіть Вставка - Поле - Інші поля і клацніть вкладку Змінні.

  2. У списку Тип виберіть «Задати змінну».

  3. У полі Назва, введіть "Profit".

  4. У полі Значення, введіть "5000".

  5. Натисніть Вставити.

  6. Відкрийте вкладку Функції і виберіть поле «Текст з умовою» у списку Тип.

  7. У поле Умова введіть «Прибуток < 5000».

  8. У полі Тоді, введіть "Мета не досягнута".

  9. У полі Або, введіть "Мета досягнута".

  10. Натисніть Вставити.

Для зміни вмісту змінної "Прибуток" двічі клацніть поле змінної.

Щоб відобразити умовний текст на основі вмісту поля бази даних:

У першій частині даного прикладу в документ вставляється пропуск між полями «Ім'я» та «Прізвище», а в другій частині вставляється текст, заснований на вмісті поля. В даному прикладі потрібне зареєстроване в LibreOffice джерело адрес.

  1. Виберіть Вставка - Поле - Інші поля і клацніть вкладку База даних.

  2. У списку Тип виберіть "Поля баз даних".

  3. У полі Вибір бази даних двічі клацніть адресну книгу, натисніть «Ім'я», потім натисніть кнопку Вставити. Повторіть те ж саме для поля «Прізвище».

  4. У документі встановіть курсор між двома полями, натисніть пропуск і поверніться в діалогове вікно Поля.

  5. Відкрийте вкладку Функції і виберіть «Текст з умовою» у списку Тип.

  6. У поле Умова введіть: "Addressbook.addresses.firstname".

  7. У полі Якщо виконується поставте пробіл, а поле Інакше залиште порожнім.

Тепер можна використати умову, щоб вставити текст на основі вмісту поля «Ім'я».

  1. У діалоговому вікні Поля відкрийте вкладку Функції.

  2. У полі Тип виберіть «Текст з умовою».

  3. У поле Умова введіть: Addressbook.addresses.firstname=="Михайло".

  4. У полі Тоді, введіть "Шановний".

  5. У полі Інакше, введіть "Здрастуйте".

  6. Натисніть Вставити.

Будь ласка, підтримайте нас!