Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Значение Свойства индекса




ixPrimary Первичный индекс

ixUnique Все значения индексных полей уникальны

ixDescending Сортировка по индексу выполняется в порядке убывания

ixCaselnsensitive Процесс сортировки нечувствителен к регистру содержимого текстовых полей

 

Описание индексов таблицы можно просмотреть в Проводнике соответствующего

модуля данных в разделе IndexDefs.

Для удаления вторичного индекса можно воспользоваться методом

procedure Deletelndex(const Name: String);

Получить список доступных индексов позволяет метод

procedure GetlndexNames(List: TStrings};

 

 

Вычисляемые поля

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

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

Пусть в главную таблицу просмотра требуется добавить поле, содержащее звездочку, если названия фирмы-производителя и фирмы-издателя совпадают. Для этого добавим в список полей таблицы Games новое поле под названием CalcFieLd, указав при этом его тип String и выбрав с помощью переключателя Field type (Тип поля) вариант Calculated (Вычисляемое).

После этого создадим обработчик события ОпСаlcFields для таблицы Games, в котором

проанализируем значения полей PubName и DevName и выполним присваивание вычисляемому полю подходящего значения. Нужные данные доступны через переменные GamesPubName и Games DevName.

procedure TDataModule2.GarnesCalcFields(DataSet: TDataSet);

Begin

ifGamesPubName.Value = GamesDevName.Value

then GamesCalcField.Value := '*'

else GamesCalcField.Value := '';

end;

Осталось только добавить новое поле в таблицу DBGridl с помощью редактора столбцов.

При работе с вычисляемыми полями подо учитывать значение свойства AutoCalcFields. Если оно имеет значение True, то событие OfiCalcFieids генерируется, когда открывается таблица базы дан-

ных, происходит переключение режима работы набора данных в состояние dsEdit (редактирование), фокус перемещается между объектами, привязанными к таблице, а также при удалении записи. Когда пользователь ведет с таблицей интенсивную работу, а обьем вычислений велик, обработчик события OnCalcFields может замедлить работу приложения, поэтому значение свойства AutoCalcFields s подобном случае лучше установить равным False.

 


Поделиться:

Дата добавления: 2015-04-11; просмотров: 59; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты