Съдържание
Индекс 🔎︎

# Данни

Разделът Данни ви позволява да припишете източник на данни на избраната контрола.

За достъп до тази команда...

Отворете контекстното меню на избран елемент от формуляр - изберете раздела Свойства на контрола - Данни.

Отворете лентата с инструменти Проектиране на формуляр, щракнете върху иконата Контрола - раздел Данни.

За формуляри с връзки към бази от данни съответната база от данни се посочва в Свойства на формуляра. Ще намерите съответните функции в раздела Данни на диалоговия прозорец.

Възможните настройки в раздела Данни на дадена контрола зависят от самата контрола. Ще виждате само възможности, достъпни за текущата контрола и контекст.
Налични са следните полета:

## Вид на съдържанието

Определя данните за попълване на списъците в списъчните и комбинираните полета.

С настройката „Списък на стойностите“ в контролата се показват всички елементи, въведени в полето Елементи на списъка от раздела Общи. Във формуляри за бази от данни можете да използвате отправни стойности (вижте раздела Обръщения чрез списъци от стойности).

Ако съдържанието на контролата се чете от база от данни, можете да определите вида на източника на данни с другите настройки. Например, можете да избирате между таблици и заявки.

## Обвързано поле

Ако изтриете съдържанието на клетката Обвързано поле в списъка със свойства, за показване и обмен на данни ще се използва първото поле от резултатния набор.

Това свойство на списъчните полета определя кое поле с данни от свързана таблица се показва във формуляра.

Ако списъчно поле във формуляра трябва да показва съдържанието на таблица, свързана с тази на формуляра, задайте в свойството Вид на съдържанието дали визуализацията се определя чрез команда на SQL или чрез пряк достъп до свързаната таблица. В свойството Обвързано поле трябва да зададете индекс, указващ кое поле с данни от заявката или таблицата е свързано.

Свойството Обвързано поле е само за формуляри, осъществяващи достъп до повече от една таблица. Ако формулярът е базиран само върху една таблица, полето, което да се показва в него, се задава директно чрез свойството Поле за данни. Ако обаче желаете списъчното поле да показва данни от таблица, свързана с текущата чрез общо поле за данни, свързаното поле за данни се определя чрез свойството Обвързано поле.

Ако изберете „SQL“ в свойството Вид на съдържанието, командата на SQL определя индекса, който ще бъде зададен. Пример: ако в свойството Съдържание на списъка е зададена команда на SQL от рода на „SELECT поле1, поле2 FROM таблица“ , вижте следната таблица:

Обвързано поле | Връзка
--- | ---
-1 | Индексът на избрания елемент от списъка се свързва с полето, зададено в Поле за данни.
{празно} или 0 | Полето „поле1“ в базата от данни се свързва с полето, зададено в Поле за данни.
1 | Полето „поле2“ в базата от данни се свързва с полето, зададено в Поле за данни.

Ако изберете „Таблица“ в свойството Вид на съдържанието, структурата на таблицата определя индекса, който ще бъде зададен. Пример: ако в свойството Съдържание на списъка е посочена таблица в базата от данни, вижте следната таблица:

Обвързано поле | Връзка
--- | ---
-1 | Индексът на избрания елемент от списъка се свързва с полето, зададено в Поле за данни.
{празно} или 0 | Първата колона на таблицата се свързва с полето, зададено в Поле за данни.
1 | Втората колона на таблицата се свързва с полето, зададено в Поле за данни.
2 | Третата колона на таблицата се свързва с полето, зададено в Поле за данни.

## Област от клетки - източник

Въведете диапазон от клетки, който съдържа стойностите за списъчно или комбинирано поле в електронната таблица. Ако въведете област с няколко колони, контролата ще бъде попълнена само със съдържанието на най-лявата колона.

## Отправна стойност (вкл.)

На бутоните за избор и полетата за отметка можете да приписвате отправни стойности. Те ще бъдат предадени към сървъра при изпращане на уебформуляра. Във формулярите към бази от данни въведените тук стойности ще се записват в базата от данни, приписана на полето на контролата.

Отправни стойности за уебформуляри

Отправните стойности са полезни, ако проектирате уебформуляр и информацията за състоянието на контролата трябва да се изпрати към сървъра. Ако потребителят щракне върху контролата, към сървъра се изпраща съответната отправна стойност.

Например, ако имате две контроли за възможностите „мъж“ и „жена“ и припишете стойност 1 на полето „жена“ и 2 – на полето „мъж“, когато потребителят щракне върху „жена“, към сървъра се изпраща стойността 1, а ако щракне върху „мъж“, се изпраща стойността 2.

Отправни стойности за формуляри към бази от данни

При формуляри за бази от данни също можете да опишете състоянието на бутони за избор или поле за отметка чрез стойност, съхранявана в базата от данни. Ако имате набор от три възможности, например „обработва се“, „завършено“ и „повторна заявка“, със съответни отправни стойности „ToDo“, „OK“ и „RS“, последните ще се записват в базата от данни при щракване върху съответния бутон за избор.

## Отправна стойност (изкл.)

Полетата за отметка и бутоните за избор в електронни таблици могат да бъдат свързани с клетки в текущия документ. Ако контролата е включена, в клетката ще се копира стойността, зададена в Отправна стойност (вкл.). В противен случай в клетката ще се копира стойността от Отправна стойност (изкл.).

## Поле за данни

Във формуляри за бази от данни можете да свързвате контролите към полета с данни.

Имате няколко възможности:

1. Първи случай: във формуляра има само една таблица.

   В Поле за данни задайте полето от източника на данни, чието съдържание желаете да се показва.

2. Втори случай: елементът за упрваление принадлежи на подформуляр, създаден от заявка на SQL.

   В Поле за данни задайте полето от оператора на SQL, чието съдържание желаете да се показва.

1. Трети случай: комбинирани полета

   При комбинираните полета полето в таблицата от източника на данни, в което се съхраняват въвежданите или избирани от потребителя стойности, се задава в Поле за данни. Стойностите, показвани в списъка на комбинираното поле, се базират върху заявка на SQL, въведена в свойството Съдържание на списъка.

2. Четвърти случай: списъчни полета

   Данните, които трябва да бъдат показани, се съдържат не в таблицата от източника на данни, а в таблица, свързана с тази от източника на данни чрез общо данново поле.

   Ако желаете списъчно поле да показва данни от таблица, свързана с текущата таблица от източника на данни, в Поле за данни задайте полето от таблицата, към което се отнася съдържанието на списъка. Също така можете да зададете полето в базата от данни, което управлява показването на данните във формуляра. Това поле осигурява връзката към другата таблица, ако двете таблици могат да се свържат чрез общо поле с данни. Обикновено във въпросното данново поле се съхраняват уникални идентификационни номера. Полето за данни, чието съдържание се показва във формуляра, се задава чрез оператор на SQL в Съдържание на списъка.

Списъчните полета работят с обръщения. Те могат да бъдат реализирани както със свързани таблици чрез оператори на SQL (четвъртият случай) или чрез списъци със стойности:

Обръщения чрез свързани таблици (оператори на SQL)

Ако желаете списъчно поле да показва данни от таблица, свързана чрез общо поле за данни с таблицата, върху която е базиран формулярът, задайте свързващото поле от таблицата на формуляра срещу Поле за данни.

Връзката се създава чрез оператор Select на SQL, който – в случай че сте задали „SQL“ или „Native SQL“ за Вид на съдържанието – се задава в свойството Съдържание на списъка. Например, нека към текущия формуляр е свързана таблица „Orders“ (поръчки), а в базата от данни с таблицата „Orders“ е свързана таблица „Customers“ (клиенти). Можете да използвате следния оператор на SQL:

SELECT CustomerName, CustomerNo FROM Customers,

където „CustomerName“ (име на клиента) е поле от свързаната таблица „Customers“, а „CustomerNo“ (номер на клиента) е полето от таблицата „Customers“, което е свързано с поле от таблицата на формуляра, „Orders“, зададено в свойството Поле за данни.

Обръщения чрез списъци от стойности

За списъчните полета можете да използвате списъци от стойности. В тях се дефинират отправни стойности. По този начин контролата във формуляра не показва директно съдържанието на полето в базата от данни – вместо това показва стойностите от списъка.

Ако работите с отправни стойности от списък със стойности, съдържанието на полето, зададено в Поле за данни, не се вижда във формуляра. Вместо него се виждат приписаните стойности. Ако сте избрали „Списък на стойностите“ в свойството Вид на съдържанието в раздела Данни и сте приписали отправни стойности на видимите във формуляра елементи на списъка чрез Елементи на списъка (в раздела Общи), тогава отправните стойности се сравняват с данните в съответното поле от базата. Ако отправната стойност съответства на съдържанието на полето, във формуляра се показва свързаният с нея елемент от списъка.

## Празен низ е NULL

Определя как се обработва празен входен текст. Ако стойността е „Да“, въведен низ с дължина нула ще бъде тълкуван като стойност NULL. Ако стойността е „Не“, всички въведени низове се оставят както са, без никакво преобразуване.

Празните низове са низове с дължина нула (""). Обикновено стойност NULL не е същото като празен низ. По принцип с означението NULL се отбелязва неопределена или неизвестна стойност или състоянието „още не е въведена стойност“.

Системите за управление на бази от данни се различават помежду си и може да обработват стойността NULL по различен начин. Вижте документацията на използваната СУБД.

## Предложение за филтър

Докато проектирате формуляра, можете да зададете за всяко текстово поле свойството „Предложение за филтър“ в раздела Данни на съответния диалогов прозорец Свойства. При последващи търсения с филтър можете да избирате измежду цялата информация, съдържаща се в съответните полета. Съдържанието на полетата може да бъде избирано чрез функцията Автозавършване. Забележете обаче, че тази функция изисква повече пространство в паметта и време, особено ако се използва с обемисти бази от данни, затова трябва да се ползва пестеливо.

## Свързана клетка

Задава обръщение към свързана клетка в електронна таблица. Динамичното състояние или съдържанието на контролата се свързва със съдържанието на клетката. Следващите таблици показват контролите и съответните им видове връзки:

### Поле за отметка със свързана клетка

Действие | Резултат
--- | ---
Отмятане на полето: | В свързаната клетка се записва TRUE.
Изчистване на полето: | В свързаната клетка се записва FALSE.
Поставяне в неопределено състояние (за трипозиционно поле): | В свързаната клетка се записва #NV.
Въвеждане в свързаната клетка на число или формула с резултат число: | Ако въведената стойност е TRUE или различна от 0, полето за отметка се отмята. Ако въведената стойност е FALSE или 0, полето за отметка се изчиства.
Изчистване на свързаната клетка, въвеждане на текст или въвеждане на формула с резултат текст или грешка: | Ако полето за отметка е трипозиционно, преминава в неопределено състояние, иначе се изчиства.
Отмятане на полето. Зададен е текст за Отправна стойност: | Текстът от полето Отправна стойност се копира в клетката.
Изчистване на полето. Зададен е текст за Отправна стойност: | В клетката се копира празен низ.
Полето Отправна стойност съдържа текст. Въвеждане на същия текст в клетката: | Полето за отметка се отмята.
Полето Отправна стойност съдържа текст. Въвеждане на друг текст в клетката: | Полето за отметка се изчиства.

### Бутон за избор със свързана клетка

Действие | Резултат
--- | ---
Избиране на бутона: | В свързаната клетка се записва TRUE.
Снемане на избора от бутона чрез избиране на друг бутон: | В свързаната клетка се записва FALSE.
Въвеждане в свързаната клетка на число или формула с резултат число: | Ако въведената стойност е TRUE или различна от 0, бутонът се избира. Ако въведената стойност е FALSE или 0, изборът се премахва от бутона.
Изчистване на свързаната клетка, въвеждане на текст или въвеждане на формула с резултат текст или грешка: | Изборът се премахва от бутона.
Щракване върху бутона. Полето Отправна стойност съдържа текст: | Текстът от полето Отправна стойност се копира в клетката.
Щракване върху друг бутон от същата група. Полето Отправна стойност съдържа текст: | В клетката се копира празен низ.
Полето Отправна стойност съдържа текст. Въвеждане на същия текст в клетката: | Бутонът се избира.
Полето Отправна стойност съдържа текст. Въвеждане на друг текст в клетката: | Бутонът се изчиства.

### Текстово поле със свързана клетка

Действие | Резултат
--- | ---
Въвеждане на текст в текстовото поле: | Текстът се копира в свързаната клетка.
Изчистване на текстовото поле: | Свързаната клетка се изчиства.
Въвеждане на текст или число в свързаната клетка: | Текстът или числото се копира в текстовото поле.
Въвеждане на формула в свързаната клетка: | Резултатът на формулата се копира в текстовото поле.
Изчистване на свързаната клетка: | Текстовото поле се изчиства.

### Числово поле и форматирано поле със свързана клетка

Действие | Резултат
--- | ---
Въвеждане на число в полето: | Числото се копира в свързаната клетка.
Изчистване на полето: | В свързаната клетка се записва стойност 0.
Въвеждане в свързаната клетка на число или формула с резултат число: | Числото се копира в полето.
Изчистване на свързаната клетка, въвеждане на текст или въвеждане на формула с резултат текст или грешка: | В полето се записва стойност 0.

### Списъчно поле със свързана клетка

Списъчните полета поддържат два различни режима на свързване, вижте свойството „Съдържание на свързаната клетка“.

1. Свързано съдържание: текстовото съдържание на избрания елемент в списъчното поле се синхронизира със съдържанието на клетката.

2. Свързана позиция на селекцията: позицията на един избран елемент в списъчното поле се синхронизира с числовата стойност в клетката.

Действие | Резултат
--- | ---
Избиране на един елемент от списъка: | Свързано съдържание: текстът на елемента се копира в свързаната клетка. Свързана селекция: позицията на избрания елемент се копира в свързаната клетка. Например, ако е избран третият елемент, се копира числото 3.
Избиране на няколко елемента от списъка: | В свързаната клетка се записва #NV.
Снемане на избора от всички елементи: | Свързано съдържание: свързаната клетка се изчиства. Свързана селекция: в свързаната клетка се записва стойност 0.
Въвеждане на текст или число в свързаната клетка: | Свързано съдържание: намира се и се избира еднакъв елемент от списъка. Свързана селекция: избира се елементът на зададената позиция (1 означава първия елемент). Ако няма такъв, изборът от всички елементи се премахва.
Въвеждане на формула в свързаната клетка: | Намира се и се избира елемент от списъка, съответстващ на резултата от формулата и режима на свързване.
Изчистване на свързаната клетка: | Изборът се премахва от всички елементи в списъка.
Промяна в съдържанието на диапазона – източник на списъка: | Елементите на списъка се обновяват според промяната. Селекцията се запазва. Това може да причини обновяване на свързаната клетка.

### Комбинирано поле със свързана клетка

Действие | Резултат
--- | ---
Въвеждане на текст в полето за редактиране на комбинираното поле или избиране на стойност от падащия списък: | Текстът се копира в свързаната клетка.
Изчистване на полето за редактиране на комбинираното поле: | Свързаната клетка се изчиства.
Въвеждане на текст или число в свързаната клетка: | Текстът или числото се копира в полето за редактиране на комбинираното поле.
Въвеждане на формула в свързаната клетка: | Резултатът на формулата се копира в полето за редактиране на комбинираното поле.
Изчистване на свързаната клетка: | Полето за редактиране на комбинираното поле се изчиства.
Промяна в съдържанието на диапазона – източник на списъка: | Елементите на падащия списък се обновяват според промяната. Полето за редактиране на комбинираното поле и свързаната клетка не се променят.

## Съдържание на свързаната клетка

Избор на режим на свързване на списъчното поле с клетка от електронна таблица.

1. Свързано съдържание: текстовото съдържание на избрания елемент в списъчното поле се синхронизира със съдържанието на клетката. Избира се „избраният елемент“.

2. Свързана позиция на селекцията: позицията на единствения избран елемент в списъчното поле се синхронизира с числовата стойност в клетката. Избира се „позицията на избрания елемент“.

## Съдържание на списъка

Във формуляри за бази от данни задава източника на данни за съдържанието на списъка в елемента от формуляра. Това поле може да се използва за дефиниране на списък със стойности в документ без връзка с база от данни.

Във формуляр към база от данни елементите на списъчното или комбинирано поле се определят от източника на данни. В зависимост от избрания тип можете да избирате измежду различни източници на данни в Съдържание на списъка, стига обекти от съответния вид да съществуват в базата от данни. Тук се предлагат всички налични в базата от данни обекти от типа, избран във Вид на съдържанието. Ако сте избрали „Списък на стойностите“ за вида на съдържанието, можете да използвате стойности за обръщения. Ако видимото съдържание на контролата се определя от команда на SQL, тя се въвежда тук.

Примери за оператори на SQL:

За списъчни полета операторът на SQL може да има следната форма:

SELECT поле1, поле2 FROM таблица

Тук „таблица“ е таблицата, чиито данни се показват в списъка на полето (таблица на списъка). „Поле1“ е полето с данни, което дефинира видимите във формуляра елементи – неговото съдържание се показва в списъчното поле. „Поле2“ е полето от таблицата на списъка, което се свързва с таблицата на формуляра (таблицата на стойностите) през полето, зададено в Поле за данни ако е избрано Обвързано поле = 1.

За комбинирани полета операторът на SQL може да има следната форма:

SELECT DISTINCT поле FROM таблица

Тук „поле“ е поле с данни от таблицата на списъка „таблица“, чието съдържание се показва в списъка на комбинираното поле.

Списъци със стойности за документи на HTML

Във формуляр на HTML можете да въведете списък със стойности в Съдържание на списъка. Изберете „Списък на стойностите“ във Вид на съдържанието. Въведените тук стойности няма да се виждат във формуляра, а се приписват като стойности на видимите елементи. Стойностите, въведени в Съдържание на списъка съответстват на етикета <OPTION VALUE=...> в HTML.

При прехвърлянето на данни за избран елемент в списъчно или комбинирано поле се взима предвид както списъкът с показани във формуляра стойности, въведени в раздела Общи срещу Елементи на списъка, така и списъкът със стойности, въведен в раздела Данни срещу Съдържание на списъка: ако на избраната позиция в списъка със стойности има непразен текст (<OPTION VALUE=...>), ще бъде предаден той. Иначе ще бъде изпратен текстът, показан в контролата (<OPTION>).

Ако списъкът със стойности трябва да съдържа празен низ, въведете стойността „$$$empty$$$“ на съответната поцизия в Съдържание на списъка (спазвайте регистъра на буквите). LibreOffice тълкува тази стойност като празен низ и я приписва на съответния елемент от списъка.

Следващата таблица показва връзката между HTML, JavaScript и полето Съдържание на списъка на LibreOffice чрез примерно списъчно поле с име „ListBox1“. Тук „Item“ представлява елемент от списъка, който се вижда във формуляра:

Етикет на HTML | JavaScript | Елемент от списъка със стойности на контролата (Съдържание на списъка) | Предавани данни
<OPTION>Item | Не е възможно | "" | видимият елемент от списъка ("ListBox1=Item")
<OPTION VALUE="Value">Item | ListBox1.options[0].value="Value" | "Value" | Стойността, приписана на елемента от списъка ("ListBox1=Value")
<OPTION VALUE="">Item | ListBox1.options[0].value="" | "$$$empty$$$" | Празен низ ("ListBox1=")