Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билет1.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
365 Кб
Скачать
☆

Билет 24

1. Перечислите и охарактеризуйте способы обращения к полю. Опишите процесс создания вычисляемых полей и полей выбора данных и для чего они предназначены.

Способы обращения к полю:

  1. свойство Fields набора данных позволяет обратиться к полю по индексу. Индекс задаёт номер поля, к которому будет получен доступ. Поля нумеруются с нуля. Например, пусть поле Name определено в таблице базы данных третьим по счету, тогда его индекс равен 2: Table1.Fields[2]. AsString:= 'Иванов'.

Если поле входит в индекс данного набора данных, свойство IsIndexField возвращает во время выполнения значение True;

  1. используя метод FieldByName набора данных, данный метод подразумевает обращение к полю по имени. Например, Table1.FieldByName('FIO').AsString := 'Иванов';

  2. используя свойство набора данных FieldValues. Это свойство позволяет обращаться к полю через его имя. Например: Table1.FieldValues['FIO'] := 'Иванов'. Поскольку свойство FieldValues принимается для набора данных по умолчанию, его имя при обращении к полю можно опускать: Table1 ['FIO'] :='Иванов';

  3. если полю соответствует компонент TField, то это можно сделать через имя данного компонента, определяемого свойством Name. Например:

Table1FIO.AsString := 'Иванов'; //Или

Table1FIO.Value := 'Иванов'.

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

Если необходимо создать вычисляемое поле, значение которого вычисляется по значениям других полей, поступают следующим образом:

1. В редакторе полей необходимо создать новое поле, пометив его как Calculated. Для этого нужно сделать текущим необходимый НД, нажать правую кнопку мыши и выбрать элемент меню Field Editor. В редакторе полей снова нажать правую кнопку мыши и выбрать элемент меню New Field. Затем в окне диалога необходимо ввести имя поля, его тип и для строковых полей - длину. Для нового поля будет создан компонент TField, доступ к которому осуществляется в редакторе полей.

2. Для компонента НД, к которому принадлежит вычисляемое поле, необходимо определить обработчик событий OnCalcFields.

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

Поля выбора данных (lookup) одного набора данных содержат значения из другого набора данных, связанного по первичному ключу с НД, которому принадлежит поле выбора данных. Поле выбора данных всегда доступно только для чтения и не может быть одновременно полем выбора данных и вычисляемым полем. Реляционное отношение НД, служащего источником значений для поля выбора данных и НД, которому оно принадлежит, есть «один-ко-многим» и реже «один-к-одному». Это означает, что на один вариант значения в наборе данных - источнике должно приходиться одно или несколько связанных значений в НД, к которому принадлежит поле выбора.

Для определения поля набора данных необходимо создать новое поле в редакторе полей, установив радио группу FieldType в значение Lookup.

Затем устанавливаем значения свойств:

- DataSet - имя НД-источника значений для поля выбора данных;

- KeyFields - индексные поля набора данных - владельца поля выбора данных. По этим полям НД-владелец соединяется с НД-источником значений поля выбора данных. Если в индексе имеется несколько полей, они перечисляются через точку с запятой;

- LookupFields- индексные поля НД-источника значений для поля выбора. По значениям этих индексных полей устанавливается связь набора данных - источника со значениями индексных полей НД-владельца поля выбора (они указаны в параметре KeyFields). Если в индексе имеется несколько полей, они перечисляются через точку с запятой;