Module
Contents
Index 🔎︎

# Данные

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

Доступ к этой команде

Откройте контекстное меню выбранного элемента формы, перейдите на вкладку Элемент управления - Данные

Откройте панель инструментов "Элементы управления" или "Конструктор форм", щёлкните значок Элемент управления, откройте вкладку Данные

Для форм со ссылками на базу данных связанная база данных определяется в свойствах формы. Функции для этого находятся на вкладке Данные.

Возможные настройки вкладки Данные элемента управления зависят от этого элемента управления. Будут отображаться только те параметры, которые доступны для данного элемента управления и контекста. Доступны следующие поля:

## Значение индекса (вкл.)

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

Значения индекса для веб-форм

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

Например, если имеется два поля элементов управления для вариантов "женский" и "мужской" и полю "женский" назначено значение индекса 1, а полю "мужской" - значение индекса 2, значение 1 передаётся серверу, когда пользователь выбирает поле "женский", а значение 2 - когда пользователь выбирает поле "мужской".

Значения индекса для форм базы данных

Для форм базы данных можно также характеризовать состояние параметра или флажка с помощью значения индекса, хранящегося в базе данных. Если задано три параметра, например, "не завершено", "завершено" и "повторная отправка" с соответствующими значениями индекса ToDo", "OK" и "RS", эти значения индекса появятся в базе данных, если будет выбран соответствующий параметр.

## Значение индекса (выкл.)

Флажки и переключатели в электронных таблицах могут быть связаны с ячейками в текущем документе. Если элемент управления включён, в ячейку копируется значение, введенное пользователем в поле "Значение индекса (вкл.)". Если элемент управления выключен, в ячейку копируется значение из поля "Значение индекса (выкл.)".

## Исходный диапазон ячеек

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

## Поле данных

Для форм базы данных можно связать элементы управления с полями данных.

Имеется несколько возможностей:

1. Первый случай. В форме только одна таблица.

   В поле Поле данных укажите поле источника данных таблицы, содержимое которого должно отображаться.

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

   В поле Поле данных укажите поле инструкции SQL, содержимое которого должно отображаться.

1. Третий случай. Поля со списком

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

2. Четвертый случай. Списки

   Источник данных таблицы не содержит данных, которые должны отображаться, за исключением таблицы, связанной с таблицей источника данных через общее поле данных.

   Если необходимо, чтобы в списке отображались данные из таблицы, которая связана с текущей таблицей источника данных, в поле Поле данных укажите поле таблицы источника данных, на которое ссылается содержимое списка. Можно также указать поле базы данных, которое управляет отображением данных в форме. Это поле данных содержит ссылку на другую таблицу, если обе таблицы могут быть связаны через общее поле данных. Обычно это поле данных, в котором хранятся уникальные идентификационные номера. Поле данных, содержимое которого отображается в форме, определяется инструкцией SQL в поле Содержимое списка.

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

Ссылки через связанные таблицы (инструкции SQL)

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

Ссылка создаётся с помощью инструкции SQL Select, которая, если выбрать "SQL" или "Native SQL", указана в разделе Тип содержимого списка в поле Содержимое списка Например, таблица "Заказы" связана с данным элементом управления формы, а в базе данных с таблицей "Заказы" связана таблица "Клиенты". Можно использовать следующую инструкцию SQL:

SELECT CustomerName, CustomerNo FROM Customers,

где "CustomerName" - это поле данных из связанной таблицы "Клиенты", а "CustomerNo" - поле таблицы "Клиенты", которое связано с полем таблицы формы "Заказы", указанным в поле Поле данных.

Ссылки, использующие списки значений

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

При работе со значениями индекса списка значений содержимое поля данных, указанного в поле Поле данных в форме, невидимо, за исключением назначенных значений. Если выбрать значение "Valuelist" на вкладке Данные в разделе Тип содержимого списка и назначить значение индекса видимым элементам списка в форме в поле Элементы списка (вводится на вкладке Общие), то значения индекса будут сравниваться с данными в текущем поле данных. Если значение индекса соответствует содержимому поля данных, связанные элементы списка отображаются в форме.

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

При создании формы можно задать свойство "Предложение фильтра" для каждого текстового поля на вкладке Данные соответствующего диалогового окна Свойства. При следующих поисках в режиме фильтрации можно выбирать из всех данных, содержащихся в этих полях. Содержимое поля затем может быть выбрано с помощью функции автозаполнения. Обратите внимание, однако, на то, что для этой функции требуется больший объём памяти и больше времени, особенно при использовании больших баз данных, поэтому следует применять её продуманно.

## Пустая строка - ПУСТО

Задаётся способ обработки пустой введенной строки. Если выставлено Да, введенная строка с нулевой длиной будет обрабатываться как значение NULL. Если выставлено Нет, любой ввод будет обрабатываться как есть, без преобразования.

Пустая строка - это строка с нулевой длиной (""). Обычно значение NULL - это не то же самое, что пустая строка. В общем, термин NULL используется для обозначения неопределенного значения, неизвестного значения или "значение пока не введено."

Системы баз данных отличаются и могут обрабатывать значение NULL по-разному. См. документацию к используемой базе данных.

## Связанная ячейка

Определяет ссылку на связанную ячейку электронной таблицы. Текущее состояние или содержимое элемента управления связывается с содержимым ячейки. В следующей таблице перечислены элементы управления и соответствующий им тип ссылки.

### Флажок со связанной ячейкой

Действие | Результат
Установка флажка | В связанную ячейку вводится значение TRUE
Снятие флажка | В связанную ячейку вводится значение FALSE
Флажок с тремя состояниями установлен в состояние "не определено" | В связанную ячейку вводится значение #NV
Ввод числа или формулы, которая возвращает число, в связанной ячейке | Если введенное значение TRUE или не 0: Флажок установлен Если введенное значение FALSE или 0: Флажок снят
Очистка связанной ячейки, ввод текста или ввод формулы, которая возвращает текст или ошибку | Флажок установлен в состояние "не определено", если это флажок с тремя состояниями, в противном случае флажок снят.
Выбор поля. Поле значения индекса содержит текст. | Текст из поля значения индекса копируется в ячейку.
Отмена выбора поля. Поле значения индекса содержит текст. | Пустая строка копируется в ячейку.
Поле значения индекса содержит текст. Ввод того же самого текста в ячейку. | Флажок установлен.
Поле значения индекса содержит текст. Ввод другого текста в ячейку. | Флажок снят.

### Переключатель со связанной ячейкой

Действие | Результат
Выбор переключателя | В связанную ячейку вводится значение TRUE
Отмена выбора переключателя при выборе другого переключателя | В связанную ячейку вводится значение FALSE
Ввод числа или формулы, которая возвращает число, в связанной ячейке | Если введенное значение TRUE или не 0: Переключатель выбран Если введенное значение FALSE или 0: Выбор переключателя отменён
Очистка связанной ячейки, ввод текста или ввод формулы, которая возвращает текст или ошибку | Выбор переключателя отменён
Нажатие переключателя. Поле значения индекса содержит текст. | Текст из поля значения индекса копируется в ячейку.
Нажатие другого переключателя в этой же группе. Поле значения индекса содержит текст. | Пустая строка копируется в ячейку.
Поле значения индекса содержит текст. Ввод того же самого текста в ячейку. | Переключатель выбран.
Поле значения индекса содержит текст. Ввод другого текста в ячейку. | Выбор переключателя отменён.

### Текстовое поле со связанной ячейкой

Действие | Результат
Ввод текста в текстовое поле | Текст копируется в связанную ячейку
Очистка текстового поля | Связанная ячейка очищается
Ввод текста или числа в связанную ячейку | Текст или число копируются в текстовое поле
Ввод формулы в связанную ячейку | Результат вычисления по формуле копируется в текстовое поле
Очистка связанной ячейки | Текстовое поле очищается

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

Действие | Результат
Ввод числа в поле | Число копируется в связанную ячейку
Очистка поля | В связанной ячейке устанавливается значение 0
Ввод числа или формулы, которая возвращает число, в связанной ячейке | Число копируется в поле
Очистка связанной ячейки, ввод текста или ввод формулы, которая возвращает текст или ошибку | В поле устанавливается значение 0

### Список со связанной ячейкой

Списки поддерживают два различных режима связывания, см. свойство "Содержимое связанной ячейки".

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

2. Положение связанного выбора: Положение отдельного выбранного элемента в списке синхронизируется с числовым значением в ячейке.

Действие | Результат
Выбор отдельного элемента списка | Содержимое связано: Текст элемента копируется в связанную ячейку. Выделение связано: Положение выбранного элемента копируется в связанную ячейку. Например, если выбран третий элемент, копируется число 3.
Выбор нескольких элементов списка | В связанную ячейку вводится значение #NV
Отмена выбора всех элементов списка | Содержимое связано: Связанная ячейка очищается Выделение связано: В связанную ячейку вводится значение 0
Ввод текста или числа в связанную ячейку | Содержимое связано: Поиск и выбор такого же элемента списка Выделение связано: Выбирается элемент списка в указанном положении (начиная с первого элемента). Если не найдено, отменяется выбор всех элементов.
Ввод формулы в связанную ячейку | Поиск и выбор элемента списка, который соответствует результату вычисления по формуле и режиму связывания
Очистка связанной ячейки | Отмена выбора всех элементов в списке
Изменение содержимого исходного диапазона списка | Элементы списка обновляются в соответствии с изменением. Выбор не изменяется. Это может вызвать обновление связанной ячейки.

### Поле со списком со связанной ячейкой

Действие | Результат
Ввод текста в поле для редактирования поля со списком или выбор элемента из раскрывающегося списка | Текст копируется в связанную ячейку
Очистка поля для редактирования поля со списком. | Связанная ячейка очищается
Ввод текста или числа в связанную ячейку | Текст или число копируются в поле для редактирования поля со списком
Ввод формулы в связанную ячейку | Результат вычисления по формуле копируется в поле для редактирования поля со списком
Очистка связанной ячейки | Очищается поле для редактирования поля со списком
Изменение содержимого исходного диапазона списка | Элементы раскрывающегося списка обновляются в соответствии с изменением. Поле для редактирования поля со списком и связанная ячейка не изменяются.

## Связываемое поле

Если удалить значение ячейки Связываемое поле в браузере свойств, то для отображения и обмена данными будет использоваться первое поле из набора результатов.

Это свойство для списков определяет, какое поле данных связанной таблицы отображается в форме.

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

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

Если в поле Тип содержимого списка выбрать "SQL", индекс, который должен быть указан, определяется командой SQL. Пример: Если в поле Содержимое списка указана команда SQL "SELECT Field1, Field2 FROM tablename", см. следующую таблицу:

Связываемое поле | Связь
-1 | The index of the selected entry in the list is linked to the field specified under Data field.
{empty} or 0 | Поле базы данных "Field1" связывается с полем, указанным в поле Поле данных.
1 | Поле базы данных "Field2" связывается с полем, указанным в поле Поле данных.

Если в поле Тип содержимого списка выбрать "Таблица", индекс, который должен быть указан, определяется структурой таблицы. Пример: Если в поле Содержимое списка указана таблица базы данных, см. следующую таблицу:

Связываемое поле | Связь
-1 | The index of the selected entry in the list is linked to the field specified under Data field.
{empty} or 0 | 1-й столбец таблицы связывается с полем, указанным в поле Поле данных.
1 | 2-й столбец таблицы связывается с полем, указанным в поле Поле данных.
2 | 3-й столбец таблицы связывается с полем, указанным в поле Поле данных.

## Содержимое связанной ячейки

Выбор режима связывания списка по связанной ячейке электронной таблицы.

1. Связанное содержимое: Синхронизирует текстовое содержимое выбранного элемента списка с содержимым ячейки. Выбор "Выбранный элемент"

2. Связанное положение выбора: Положение отдельного выбранного элемента в списке синхронизируется с числовым значением в ячейке. Выбор "Положение выбранного элемента"

## Содержимое списка

Для форм баз данных указывает источник данных для содержимого списка элемента формы. Это поле может использоваться для определения списка значений для документов без подключения к базе данных.

В случае форм баз данных источник данных определяет элементы списка или поля со списком. В зависимости от выбранного типа можно выбирать различные источники данных в поле Содержимое списка при условии, что эти объекты существуют в базе данных. Здесь возможны все доступные объекта для типа, выбранного в поле Тип содержимого списка. Если в качестве типа выбрано "Список значений", можно использовать ссылки для форм базы данных. Если отображение элемента управления управляется командой SQL, здесь вводится инструкция SQL.

Примеры инструкций SQL.

Для списков инструкция SQL может иметь следующий вид:

SELECT field1, field2 FROM table,

Здесь "table" - это таблица, данные которой отображаются в списке элемента управления (таблица списка). "field1" - поле данных, которое определяет видимые элементы в форме, его содержимое отображается в списке. "field2" - поле таблицы списка, которое связано с таблицей формы (таблица значений) через поле, указанное в Поле данных, если выбрано значение Связываемое поле = 1.

Для полей со списками инструкция SQL может иметь следующий вид:

SELECT DISTINCT field FROM table,

Здесь "field" - это поле данных из таблицы списка "table", содержимое которого отображается в поле со списком.

Списки значений для документов HTML

Для форм HTML можно ввести список значений в поле Содержимое списка. Выберите параметр "Valuelist" в поле Тип содержимого списка. Введенное здесь значение не будет отображаться в форме, оно используется для присвоения значений видимым элементам. Записи в поле Содержимое списка соответствуют тегу HTML <OPTION VALUE=...>.

В переносе данных выбранного элемента из списка или поля со списком учитываются как список значений, отображенный в форме, которая была введена на вкладке Общие в поле Элементы списка, так и список значений, введенный на вкладке Данные в поле Содержимое списка: Если в положении выделения в списке значений (<OPTION VALUE=...>) имеется (непустой) текст, он будет передан. В противном случае отправляется текст, отображенный в элементе управления (<OPTION>).

Если список значений должен содержать пустую строку, введите значение "$$$empty$$$" в поле Содержимое списка в соответствующее положение (обратите внимание на регистр символов). LibreOffice воспринимает этот ввод как пустую строку и назначает её соответствующему элементу списка.

В следующей таблице на примере списка "ListBox1" показаны связи между полями Содержимое списка HTML, JavaScript и LibreOffice. В этом случае "Item" означает элемент, отображаемый в форме.

Тег HTML | JavaScript | Элемент в списке значений элемента управления (содержимое списка) | Переданные данные
<OPTION>Item | Невозможно | "" | видимый элемент списка ("ListBox1=Item")
<OPTION VALUE="Value">Item | ListBox1.options[0].value="Value" | "Значение" | Значение, назначенное элементу списка ("ListBox1=Value")
<OPTION VALUE="">Item | ListBox1.options[0].value="" | "$$$empty$$$" | Пустая строка ("ListBox1=")

## Тип содержимого списка

Определяет данные для заполнения списков и полей со списками.

Если выбрать значение "Valuelist", все записи, введенные в поле Элементы списка вкладки Общие, отображаются в элементе управления. Для форм базы данных могут служить значения индекса (см. раздел Ссылки, использующие списки значений).

Если содержимое элемента управления считано из базы данных, можно определить тип источника данных с помощью других параметров. Можно, например, выбирать между таблицами и запросами.