|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
индексация dbaseIII
Доброго времени суток Всем!
Исходные данные: D7, XP. Столкнулся со следующей проблемой. Имею файл dbaseIII с символьными полями Имя поля Тип поля Ширина NAME_PL Character 30 DOT Character 6 GOR Character 5 Dbf-ка создается SQL запросом. Затем я ее индексирую по 2 полям. И хочу открыть в FastReport3 уже сортированную по 2 полям. Однако, когда я считаю количество индексов ShowMessage(IntToStr(IndexDefs.Count)); - оно = 0. Физически файл mdx создается: dob_gor_10 dbf│ 81868│29.03.07│14:23 dob_gor_10 mdx│ 19456│29.03.07│14:23 Код:
//-----------------------------------------------------------------------------// // Индекс на таблицу по площади->дате->горизонту with Form1.Table_Rez do begin TableName := FileDBF3; Close; Exclusive := TRUE; Open; with IndexDefs do begin Clear; AddIndex('NamePl', 'Name_Pl+Dot', [ixExpression]); end; IndexDefs.Update; ShowMessage(IntToStr(IndexDefs.Count)); Close; Exclusive := False; Open; //IndexName := IndexFile3; IndexFieldNames := 'Name_Pl+Dot'; Однако, я не могу его прикрутить к dbf - ошибка. Project Projectl.exe raised exception class EDatabaseError with message 'Table_Rez: Index does not exist. Index: C:\AUTOWORK\5PRAV\dob_gor_10.mdx'. Process stopped. Use Step or Run to continue. Как тут быть? Что я делаю неправильно? |
#2
|
||||
|
||||
Я не знаю как FR3 работает с базами, т.к. не использовал его ни разу (ибо платный а бабла нету ) Подозреваю, что он работает с TDataSet, переделай не на файл, а на запрос напрямую, в запросе выставляй сортировку какую хочешь.
|