Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Вниз

Как вTTable перейти к записи с оределенным номером???   Найти похожие ветки 

 
Nikkkkk   (2003-08-15 09:44) [0]

Уважаемые мастера,Как при помощи компонента TTable перейти к записи с заданным номером??? Для чего мне это нужно? Мне необходимо найти запись по дате, пробовал использовать Locate, работает медленно. Хочу попробовать организовать поиск по принципу угадывания числа..
Спасибо всем ответившим.


 
Nikolay M.   (2003-08-15 09:46) [1]


> пробовал использовать Locate, работает медленно

Начиная с пятерки Locate не использует индексы. Засовывай имя поля в IndexFieldNames и ищи FindKey-ем.


 
Виталя   (2003-08-15 09:48) [2]

Table.First;
for i:=1 to Nomer do Table.Next;
А вообще отсортируй по дате тогда Locate работать будет быстрей


 
Nikkkkk   (2003-08-15 09:57) [3]

Индекс создавать нельзя, работаю в активных базах используемых в других программах...


 
Mike Kouzmine   (2003-08-15 10:23) [4]

t.recno := x;


 
VAleksey   (2003-08-15 11:39) [5]


> Nikolay M. © (15.08.03 09:46)

Вот выдержка из хелпа в Delphi 5. Если вы имеете более надежный источник, то прошу указать.

Locate uses the fastest possible method to locate matching records. If the search fields in KeyFields are indexed and the index is compatible with the specified search options, Locate uses the index. Otherwise Locate creates a filter for the search.

Т.е. если Locate в каком - то частном случае не использует индекс, то это не значит, что он его вообще не использует.


 
KPP   (2003-08-15 13:23) [6]

Ищу запись при помощи Locate без индексов - в таблице с 10000 записей работает практически незаметно
перед поиском отключи вычисляемые поля, сделай таблице
DisableControls; а после поиска EnableControls;


 
Mike Kouzmine   (2003-08-15 15:31) [7]

Для перехода на номер записи никакие индексы не нужны. Работает простое присваивание св-ву recno номера нужной записи


 
KPP   (2003-08-15 15:46) [8]

>Mike Kouzmine © (15.08.03 15:31) [7]

В вопрос звусит так:
"...Мне необходимо найти запись по дате, пробовал использовать Locate, работает медленно. ..."

как можно такое сделать "простым присваиванием св-ву recno номера нужной записи"?


 
Mike Kouzmine   (2003-08-15 16:11) [9]

Вопрос звучит так:
Уважаемые мастера,Как при помощи компонента TTable перейти к записи с заданным номером???
Вопросы есть? А для чего это ему надо, это следующий вопрос.


 
sniknik   (2003-08-15 16:32) [10]

Nikkkkk (15.08.03 09:57) [3]
> Индекс создавать нельзя, работаю в активных базах используемых в других программах...
переходи на ADO подходит как нельзя лутше. после чтения в локальный рекордсет наложение индекса (проперти Sort), пройдет практически незаметно для оригинальной таблицы...
а уж по индексированному полю поиск, "быстрее не бывает".


 
MsGuns   (2003-08-15 17:49) [11]

А что, просто запросом (Select ... where ...) не позволяет политика партии ?


 
MsGuns   (2003-08-15 17:51) [12]

Пардон ! С последующим FindKey по найденному в запросе идентификатору.

ЗЫ. Отвлекли ;)


 
Nikolay M.   (2003-08-15 18:06) [13]


> VAleksey © (15.08.03 11:39) [5]
> Вот выдержка из хелпа в Delphi 5. Если вы имеете более надежный
> источник, то прошу указать.

Пардон, я говорил про ClientDataSet.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.09.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
14-24633
DeMoN-777
2003-08-21 14:03
2003.09.08
Структура БД


14-24618
jack128
2003-08-20 00:34
2003.09.08
Именинники 20 августа


9-24294
BANick
2003-03-04 17:45
2003.09.08
Люди помогите с Опенгл плиииз


3-24387
Alibaba
2003-08-15 11:37
2003.09.08
TQuery


6-24572
alak
2003-06-30 10:00
2003.09.08
Pagecontrol and webbrowser





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский