![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ПРОБЛЕМа С ИНДЕКСАМИ [D7, Paradox]
PeterBuild © (2006-09-24 21:31:00)Помогите плиз, уже не первый день я бьюсь над проблемой сортировки!!! Все делаю правильно но когда я использую индекс появляется ерор : Invalid index\tag name. Index is out of date. Index ByCount. событие добавление индекса повешено на щелчок на гриде, открываю в монопольном режиме и невыходит. Читал что это какой то глюк, но не могу понять и провести паралель к моему случаю
sniknik (2006-09-25 10:40:00) [1]> IndexDefs.IndexOf() <> 0
F1
If Items contains no definition with the specified Name, the return value is -1.
при ненайденности индекса условие будет истинно (но судя по всему логика в процедуре не та...)
> ... AddIndex(...
F1 -
Creates a new index for the table. ....
> И в Date Base DeskTop добавленны соответствующие индексы!!
?
уже добавлены, и еще добавляеш.
и это называется "все правильно делаю"?
ASoft (2006-09-25 05:40:00) [2]
> PeterBuild (24.09.06 23:05) [6]
Ругается на щелчке по любой колонке таблицы?
PeterBuild (2006-09-25 00:05:00) [3]Почему именно проблема с именем?
PeterBuild (2006-09-24 23:55:00) [4]Все вроде бы верно....
PeterBuild (2006-09-24 23:05:00) [5]Поставил Maintained теперь пишет что Invalid index\tag name
Desdechado (2006-09-24 22:47:00) [6]> Index is out of date
Такое обычно, если не стоит галка Maintained у индекса
PeterBuild (2006-09-24 21:58:00) [7]procedure TfrmMain.BaseGridTitleBtnClick(Sender: TObject; ACol: Integer;
Field: TField);
var
bActive, bExclusive: Boolean;
begin
bActive := DM.tblBase.Active;
bExclusive := DM.tblBase.Exclusive;
DM.tblBase.IndexDefs.Update;
with DM.tblBase do
begin
Close;
Exclusive := TRUE;
Open;
if ACol = 0 then
begin
if IndexDefs.IndexOf('FULLNAME') <> 0 then
AddIndex('FULLNAME', 'NAME;NICK', []);
end;
if ACol = 1 then
begin
if IndexDefs.IndexOf('ByCount') <> 0 then
AddIndex('ByCount', 'COUNT', []);
end;
if ACol = 2 then
begin
if IndexDefs.IndexOf('ByFond') <> 0 then
AddIndex('ByFond', 'FOND', []);
end;
Close;
Exclusive := bExclusive;
Active := bActive;
TStringGrid(frmMain.BaseGrid).DefaultRowHeight := 25;
TStringGrid(frmMain.grdFirstClient).DefaultRowHeight := 20;
end;
end;
И в Date Base DeskTop добавленны соответствующие индексы!!
Gydvin (2006-09-24 21:47:00) [8]а проблема в отсутствие кода в твоем посте
PeterBuild (2006-09-24 21:41:00) [9]Ну подскажите хоть в каком районе проблема...
sniknik (2006-09-24 21:35:00) [10]> Все делаю правильно
попробуй сделать неправильно...