Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вычисляемые и связанные поля



Связанное (lookup) поле используется для визуального отображения в одной таблице значения какого-либо поля другой таблицы. Для этого должны быть определены правила, по которым каждой записи исходной таблицы ставится в соответствие одна запись другой таблицы (обычно последние таблицы называютсясправочными ). Такая связь называется один-к-одному (one-to-one).Для определения связи необходимо указать поля одной и второй таблицы, по которым осуществляется связь. Связываемое поле второй таблицыдолжно быть ключевым, чтобы обеспечить однозначность связи.

Пусть компонент с именемtaMarksпредставляет таблицу БД Marks.db, с полями:Idтипа S* (код оценки) иNameтипа A (наименование оценки), а компонент taStudents представляет таблицу БД Students.db, имеющую поле Id_Mark ( код оценки). Требуется создать полеName_Mark для taStudents, в котором отображалось бы наименование оценки, в зависимости от кода оценки в таблице Students.db.

Для создания требуемого lookup поля необходимо:

1. Щелкнуть дважды по компоненту taStudents, нажать правую кнопку мыши и в появившемся коротком меню выбрать команду NewField.

2. В появившемся окне New Field (рис. 6.2) задать значения следующих реквизитов:

Field properties/Name имя нового поля,Name_Mark;

Field properties/Type тип нового поля,String;

Field properties/Size наибольшая длина строки, например, 20;

Field type выбрать значениеLookup;

Lookup Definition/Key Fields выбрать из списка полей таблицыtaStudentsполеId_Mark(данное поле

используется для связи с

таблицей-справочником); Рис. 6.2

Lookup Definition/DataSet выбрать из списка таблицу taMarks (компонент Table, представляющий таблицу-справочник).

Lookup Definition/Lookup Keys выбрать из списка полей таблицыtaMarksполеId(данное поле используется для связи с исходной таблицей: связываются записи, в которых значения выбранных полей исходной таблицы и таблицы-справочника совпадают).

Lookup Definition/Result Field – выбрать из списка полей таблицыtaMarksполеName.

Значение поля Name таблицы БД Marks.db будет доступно для отображения через компонент taStudents.

Новое поле появляется не в физической таблице БД, а только в компоненте, ее представляющем!

Это поле можно удалить без изменения информации в физической таблице БД. Связь осуществляется только по значению поляId_Mark.

Вычисляемое поле (calculated fields) позволяет использовать значения полей физической таблицы БД для вычисления значений выражений и их представления в визуальных компонентах, связанных с таблицей. Значение вычисляемого поля формируется заново каждый раз, когда изменяются значения соответствующих полей таблицы. Программный код, реализующий алгоритм формирования значения вычисляемого поля, вставляется в обработчик события OnСalcFields визуального компонента Table, представляющего таблицу.

Для создания вычисляемого поля необходимо:

1. Дважды щелкнуть по компоненту Table соответствующейтаблицы.

2.
 
 

Нажать правую кнопку мыши и в появившемся меню выбрать команду New Field (рис. 6.3).

Рис. 6.3

3. Ввести наименование вычисляемого поля в строке Field properties/Name.

4. Выбрать нужный тип в строке Field properties/Type.

5. Выбрать значение Calculated в строке Field type и нажать кнопку OK.

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

Пусть, например, таблица БД Products.db содержит поля Price тип $ (цена за единицу товара) и Amount тип N (количество закупленного товара в единицах, в которых установлена цена). Требуется создать поле для вычисления стоимости всего приобретенного товара. Для этого необходимо:

· ввести имя поля Sum в строку Fieldproperties/Name;

· выбрать тип поля Currency в строке Field properties/Type;

· выбрать значение Calculated в строке Field type;

· вставить в событие OnСalcFields визуального компонента Table1 следующий программный код:

Table1Sum.Value:=Table1Price.Value*Table1Amount.Value

Подведем итоги. Объект класса TTable или TQuery (см. Лекция 7) может содержать совокупность объектов класса TField. Существует три типа объектов:

– объект, представляющий реальное поле физической таблицы БД, с которой связан объект TTtable, или поле, указанное в операторе SELECT запроса, связанного с объектом класса TQuery;

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

связанное поле, представляющее поле другой таблицы или запроса.





Дата публикования: 2014-12-11; Прочитано: 197 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...