Народ помогите с сортировкой. Крыша едет.

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Sytin
Постоянный обитатель
Сообщения: 159
Зарегистрирован: 28 сен 2005, 19:48
Откуда: mos
Контактная информация:

Народ помогите с сортировкой. Крыша едет.

Сообщение Sytin »

есть временная таблица

table Struct TabObjMC(
_NrecObjMC:comp,
_cTabPodr:comp,
_NrecObj:comp,
_NrecMC:comp,
_Ost:double,

_ObjName:string,
_MCName:string,

_EdIzmMC:string,
_CenaMC:double,
_SummaMC:double,
_barkod:string
)with index(
TabObjMC0=_NrecObjMC(unique, Surrogate, Journal),
TabObjMC1=_cTabPodr+_NrecObj+_NrecMC,
TabObjMC2=_cTabPodr,
TabObjMC3=_ObjName,
TabObjMC4=_MCName
);

следущий интерфейс без сортировки все выдает правильно:
Interface LookCurPodr AlwaysReturn;
create view
var
NrecPodr:comp;
from TabObjMC
where ((NrecPodr==TabObjMC._cTabPodr));

parameters
NrecPodr;
HandleEvent
cmInit:{
_loop TabObjMC{
message(TabObjMC._ObjName+' '+TabObjMC._MCName);
}
abort;
}
end;
end.
добавляем сортировку вся выборка летит
Interface LookCurPodr AlwaysReturn;
create view
var
NrecPodr:comp;
from TabObjMC
where ((NrecPodr==TabObjMC._cTabPodr))
order by _ObjName,
_MCName;

parameters
NrecPodr;
HandleEvent
cmInit:{
_loop TabObjMC{
message(TabObjMC._ObjName+' '+TabObjMC._MCName);
}
abort;
}
end;
end.

ХЕЛП МИ ПЛИЗЗЗ!!!
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

Добавь индекс
TabObjMC101=_cTabPodr+_ObjName+_MCName
И укажи его явно при открытии таблицы
from TabObjMC (TabObjMC101)
where ((
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение Ged »

и тогда Order BY не понадобиться
Sytin
Постоянный обитатель
Сообщения: 159
Зарегистрирован: 28 сен 2005, 19:48
Откуда: mos
Контактная информация:

Сообщение Sytin »

Спасибо огромное!!! Столько мучений))
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

берегите крышу! :smile:
Ответить