Страница 1 из 1

Condition на таблицу в памяти

Добавлено: 25 фев 2011, 11:55
savov
Здравствуйте!
Подскажите, плиз, как описать Condition на таблицу, созданную в памяти. По доке такая возможность вроде предусмотрена, но никаких примеров нет, и в описании таблицы в памяти тоже такого не указано (хотя пишут, что все свойства логической таблы сохраняются). Компилятор на слово Condition в описании таблицы в памяти ругается.

Re: Condition на таблицу в памяти

Добавлено: 25 фев 2011, 12:13
m0p3e
А зачем его описывать в описании таблицы в памяти?
Его описывать нужно в Create View.

Re: Condition на таблицу в памяти

Добавлено: 25 фев 2011, 12:16
Ged

Код: Выделить всё

Interface testCont;

Table Struct tC
(
  Nrec : Comp
, iNum : Integer
, sName: String
)
with index
(
  tC01 = Nrec (Unique,Surrogate)
);

Create view
As Select *
From
 tC
Condition even = (tC.iNum And 1)=0  // Тока четные
;

browse br01
 table tC;
Fields
   iNum : Protect;
   sName: Protect;
end;

HandleEvent
cmInit:
 {
   Insert tC Set iNum:=1, sName:='Раз';
   Insert tC Set iNum:=2, sName:='Два';
   Insert tC Set iNum:=3, sName:='Три';
   Insert tC Set iNum:=4, sName:='Четыре';
   Insert tC Set iNum:=5, sName:='Пять';
   PushCondition(tcEven)
 }
end;
end.

Re: Condition на таблицу в памяти

Добавлено: 25 фев 2011, 15:53
savov
Спасибо! Понял!

Re: Condition на таблицу в памяти

Добавлено: 28 фев 2011, 08:37
Алексей
а зачем вообще кондишны на таблицу в памяти? вы же сами её описываете и можете сделать нужные вам индексы.

Re: Condition на таблицу в памяти

Добавлено: 28 фев 2011, 17:08
Serges
Алексей писал(а):а зачем вообще кондишны на таблицу в памяти? вы же сами её описываете и можете сделать нужные вам индексы.
Самый простой пример - вывод данных в отчет в зависимости от установленных параметров в диалоге формирования этого отчета. Проще говоря - фильтрация потока.

Re: Condition на таблицу в памяти

Добавлено: 28 фев 2011, 17:40
Vik
И почему вы думаете, что нельзя ваш пример реализовать, используя индексы?)

Re: Condition на таблицу в памяти

Добавлено: 28 фев 2011, 17:46
Serges
Vik писал(а):И почему вы думаете, что нельзя ваш пример реализовать, используя индексы?)
Я-то как раз так не думаю ))

Re: Condition на таблицу в памяти

Добавлено: 01 мар 2011, 18:39
oiko
Так и пропишите эти фильтры как индексы.
Дополнительные индексы влияют только на размер таблицы.
Если конечно при 10 полях при 100000 записей у вас 100 индексов то это будет критично, но почему тогда так оригинально решается задача?