Содержимое
Index 🔎︎

# Данные

На вкладке Данные определены свойства формы, относящиеся к базе данных, связанной с этой формой.

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

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

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

Open Form Design toolbar, click Form Properties icon - Data tab.

## Анализ команд SQL

Specifies whether the SQL statement is to be analyzed by LibreOffice. If set to Yes, you can click the ... button next to the Content list box. This will open a window where you can graphically create a database query. When you close that window, the SQL statement for the created query will be inserted in the Content list box.

## Источник данных

Defines the data source to which the form should refer. If you click the ... button, you call the Open dialog, where you can choose a data source.

## Основные поля

If you create a subform, enter the data field of the parent form responsible for the synchronization between parent and subform. To enter multiple values, press Shift + Enter after each input line.

The subform is based on an SQL query; more specifically, on a Parameter Query. If a field name is entered in the Link master fields box, the data contained in that field in the main form is read to a variable that you must enter in Link slave fields. In an appropriate SQL statement, this variable is compared to the table data that the subform refers to. Alternatively, you can enter the column name in the Link master fields box.

См. следующий пример.

Таблица базы данных, на которой основана форма, - пользовательская база данных "Customer", в которой каждому клиенту присвоен уникальный номер в поле данных "Cust_ID". Клиентские заказы регистрируются в другой таблице базы данных. Чтобы отобразить заказы каждого пользователя после их ввода в форму, создайте подчинённую форму. В поле Основные поля введите поле данных из пользовательской базы данных, которое однозначно определяет пользователя, т.е. "Cust_ID". В поле Подчинённые поля введите имя переменной, зависящей от данных поля "Cust_ID", например, x.

В подчинённой форме должны отобразиться соответствующие данные из таблицы заказов ("Orders") для каждого кода клиента (Customer_ID -> x). Это возможно только в том случае, если каждый заказ в таблице заказов назначен только одному пользователю. Или можно воспользоваться другим полем "Customer_ID"; чтобы не перепутать это поле с одноименным полем из главной формы, оно названо "Customer_Number".

Теперь нужно сравнить "Customer_Number" из таблицы "Orders" с "Customer_ID" из таблицы "Customers" с помощью, например, переменной x из следующей инструкции SQL.

SELECT * FROM Orders WHERE Customer_Number =: x (чтобы показать все данные таблицы заказов в подчинённой форме)

или

SELECT Item FROM Orders WHERE Customer_Number =: x (чтобы показать в подчинённой форме только данные из поля "Item" таблицы заказов)

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

## Панель переходов

Specifies whether the navigation functions in the lower form bar can be used.

Параметр "Родительская форма" используется для подчинённых форм. Если для подчинённой формы выбран этот параметр, можно осуществлять переход по записям главной формы, если курсор находится в подчинённой форме. Подчинённая форма связана с родительской формой в отношении 1:1, поэтому переход всегда выполняется в родительской форме.

## Подчинённые поля

If you create a subform, enter the variable where possible values from the parent form field can be stored. If a subform is based on a query, enter the variable that you defined in the query. If you create a form using an SQL statement entered in the Data source field, enter the variable you used in the statement. You can choose any variable name. If you want to enter multiple values, press Shift + Enter.

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

## Разрешить добавления

Determines if data can be added.

## Разрешить изменения

Determines if the data can be modified.

## Разрешить только добавление

Determines if the form only allows the addition of new data (Yes) or if it allows other properties as well (No).

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

## Разрешить удаление

Determines if the data can be deleted.

## Содержимое

Determines the content to be used for the form. The content can be an existing table or a query (previously created in the database), or it can be defined by an SQL-statement. Before you enter a content you have to define the exact type in Content type.

Если в поле Тип содержимого источника выбрать значение "Таблица" или "Запрос", будут перечислены все таблицы и запросы из выбранной базы данных.

## Сортировка

Specifies the conditions to sort the data in the form. The specification of the sorting conditions follows SQL rules without the use of the ORDER BY clause. For example, if you want all records of a database to be sorted in one field in an ascending order and in another field in a descending order, enter Forename ASC, Name DESC (presuming Forename and Name are the names of the data fields).

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

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

Определяет, что в качестве источника данных используется таблица или запрос или что форма создаётся на основе инструкции SQL.

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

## Фильтр

Enter the required conditions for filtering the data in the form. The filter specifications follow SQL rules without using the WHERE clause. For example, if you want to display all records with the "Mike" forename, type into the data field: Forename = 'Mike'. You can also combine conditions: Forename = 'Mike' OR Forename = 'Peter'. All records matching either of these two conditions will be displayed.

В пользовательском режиме вызов функции фильтрации выполняется с помощью значков Автофильтр и Фильтр по умолчанию на панели Навигатор форм.

## Цикл

Determines how the navigation should be done using the tab key. Using the tab key, you can move forward in the form. If you simultaneously press the Shift key, the navigation will follow the opposite direction. If you reach the last (or the first) field and press the tab key again, it can have various effects. Define the key control with the following options:

Параметр | Значение
--- | ---
По умолчанию | Этот параметр автоматически определяет цикл, привязанный к ссылке на существующую базу данных. Если форма содержит ссылку на базу данных, клавиша TAB по умолчанию инициализирует изменение следующей или предыдущей записи на выходе из последнего поля (см. "Все записи"). При отсутствии ссылки на базу данных отображается следующая или предыдущая форма (см. "Текущая страница").
Все записи | Этот параметр относится только к формам базы данных и применяется для перехода по записям. При выходе из последнего поля формы с помощью клавиши TAB назначается новая текущая запись.
Активная запись | Этот параметр относится только к формам базы данных и применяется для перемещения внутри текущей записи. При выходе из последнего поля формы с помощью клавиши TAB назначается новая текущая запись.
Текущая страница | При выходе из последнего поля формы курсор перемещается в первое поле следующей формы. Это стандартная работа форм HTML, поэтому данный параметр особенно важен именно для них.

## Что такое подчинённая форма?

Формы создаются на основе таблицы базы данных или запроса к базе данных. Они могут использоваться для отображения, ввода или изменения данных в удобной для просмотра форме.

If you require a form that can refer to the data in a table or query and can additionally display data from another table, you should create a subform. For example, this subform can be a text box that displays the data of another database table.

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

После создания форму можно переделать в подчинённую форму. Для этого войдите в режим конструктора и откройте навигатор форм. В навигаторе форм перетащите форму (которая будет подчинённой) в другую форму (которая будет главной).

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

Из полей данных основной формы выберите основное поле. В подчинённой форме заданное подчинённое поле должно соответствовать содержимому основного поля.

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