Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

Как работать с составными(expression) индексами ???   Найти похожие ветки 

 
nikkkk   (2003-08-28 17:22) [0]

Уважаемые мастера.
У меня такая вот проблема, есть в таблице FoxPro составной индекс STR(GURN,3)+DTOS(DATOTG)+STR(NOMDOK,7), как органисовать поиск записи с помощью findnierest ???
заранее спасибо!!!


 
Ренат ©   (2003-08-28 20:10) [1]

с составными индексами ничего не получится


 
Anatoly Podgoretsky ©   (2003-08-28 20:30) [2]

С помощью findnierest никак, он не работает с индексами по выражению.


 
Anatoly Podgoretsky ©   (2003-08-28 20:31) [3]

Ренат © (28.08.03 20:10) [1]
Это ты зря


 
nikkkk   (2003-08-29 09:40) [4]

Delphi 6 вообще может работать с составными индексами???
спасибо


 
nikkkk   (2003-08-29 10:06) [5]

это вообще возможно, найти запись по составному индексу???


 
nikkkk   (2003-08-29 10:22) [6]

I need help !!!


 
Anatoly Podgoretsky ©   (2003-08-29 10:41) [7]

nikkkk (29.08.03 09:40) [4]
Дельфи 6 нет, этим занимаются библиотеки

nikkkk (29.08.03 10:06) [5]
можно


 
Ренат ©   (2003-08-29 10:59) [8]


> Дельфи 6 нет, этим занимаются библиотеки

я вообще-то это имел в виду


 
nikkkk   (2003-08-29 11:37) [9]


> Anatoly Podgoretsky © (29.08.03 10:41) [7]
> nikkkk (29.08.03 09:40) [4]
> Дельфи 6 нет, этим занимаются библиотеки
>
> nikkkk (29.08.03 10:06) [5]
> можно

как же все таки работать с составными индексами ???
если можна, небольшой пример..
спасибо


 
nikkkk   (2003-08-29 12:20) [10]

???


 
Anatoly Podgoretsky ©   (2003-08-29 12:28) [11]

А что именно тебе нужно, но с составными никак, не поддержано в xBase


 
Anatoly Podgoretsky ©   (2003-08-29 12:31) [12]

Ты определенно путаешь составные индексы с индексами по выражению, на это наводит STR(GURN,3)+DTOS(DATOTG)+STR(NOMDOK,7)


 
nikkkk   (2003-08-29 12:44) [13]


> Anatoly Podgoretsky © (29.08.03 12:31) [12]
> Ты определенно путаешь составные индексы с индексами по
> выражению, на это наводит STR(GURN,3)+DTOS(DATOTG)+STR(NOMDOK,7)

значит это называется индекс по выражению.Понятно.
Как же найти какую либо запись, используя индекс по выражению???


 
Anatoly Podgoretsky ©   (2003-08-29 12:48) [14]

GotoKey


 
nikkkk   (2003-08-29 12:54) [15]


> Anatoly Podgoretsky © (29.08.03 12:48) [14]
> GotoKey

и какой тип массива использовать???


 
Anatoly Podgoretsky ©   (2003-08-29 13:00) [16]

Никакого


 
nikkkk   (2003-08-29 13:11) [17]

пробую делать:
with Table1 do
begin
EditKey;
FieldByName("gurn").AsInteger := 1;
FieldByName("datotg").AsDateTime := strtodate("01.07.03");
FieldByName("nomdok").AsInteger := null;
GotoKey;
end;

выдает ошибку:invalid variant type conversion
???


 
nikkkk   (2003-08-29 13:13) [18]

как сделать так чтобы последнее значение :
FieldByName("nomdok").AsInteger := null;
при поиске вообще не учитывалось???


 
Anatoly Podgoretsky ©   (2003-08-29 13:13) [19]

Зачем это FieldByName("nomdok").AsInteger := null;
Integer и Variant это не совместиые типы


 
Anatoly Podgoretsky ©   (2003-08-29 13:15) [20]

nikkkk (29.08.03 13:13) [18]
Значит не задавать его


 
nikkkk   (2003-08-29 13:16) [21]


> Anatoly Podgoretsky © (29.08.03 13:15) [20]
> nikkkk (29.08.03 13:13) [18]
> Значит не задавать его

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


 
nikkkk   (2003-08-29 13:18) [22]

должен ли курсор в Триде переходить на найденную запись???


 
Anatoly Podgoretsky ©   (2003-08-29 13:26) [23]

nikkkk (29.08.03 13:16) [21]
Что возвращает GotoKey, это между прочим функция, непонятно вообще сможет ли оно что нибудь найти.

nikkkk (29.08.03 13:18) [22]
Должен.

Ты бы инсталлировал что ли справочную систему Дельфи?


 
Sandman25 ©   (2003-08-29 13:28) [24]

nikkkk

Рекомендую сначала указывать только
FieldByName("gurn").AsInteger := 1;
а то проблема может быть связана и с представлением даты.


 
Anatoly Podgoretsky ©   (2003-08-29 13:31) [25]

Трудно что либо конкретно говорить, если приведена только часть кода, не самая важная при том.


 
nikkkk   (2003-08-29 13:33) [26]


> Anatoly Podgoretsky © (29.08.03 13:26) [23]
> nikkkk (29.08.03 13:16) [21]
> Что возвращает GotoKey, это между прочим функция, непонятно
> вообще сможет ли оно что нибудь найти.
>
> nikkkk (29.08.03 13:18) [22]
> Должен.
>
> Ты бы инсталлировал что ли справочную систему Дельфи?


gotokey при :
procedure TForm1.Button1Click(Sender: TObject);
begin
with Table1 do
begin
EditKey;
FieldByName("gurn").AsInteger := 1;
FieldByName("datotg").AsDateTime := strtodate("05.02.99");
GotoKey;
end;
end;

не возвращает вообще ничего, курсор в гриде остается на месте, и ничего не происходит, сколько не кликай.

Справочная система установлена, оттуда и взял я пример для работы с gotokey. Может все из-на того что у меня таблица FoxPro, иза представления даты и времени. и вообще, если запись не найдена, должно ли выдаваться сообщение. Индекс выглядит так( STR(GURN,3)+DTOS(DATOTG)+STR(NOMDOK,7))


 
nikkkk   (2003-08-29 13:38) [27]

хотя запись с таким условием точно есть...


 
Anatoly Podgoretsky ©   (2003-08-29 13:38) [28]

EditKey я вижу, а SetKey нет, так же не вижу строк с ограничением количества колонок. Эту информацию ты не привел, без нее ответа нет.

А в справке смотреть тему Searching for records based on indexed fields


 
nikkkk   (2003-08-29 13:43) [29]

with Table1 do
begin
setkey;
FieldByName("gurn").AsInteger := 1;
FieldByName("datotg").AsDateTime := strtodate("05.02.99");
end;
table1.GotoNearest;
end;
отрабатывает на ура, мгновенно.
!!!спасибо огромное Anatoly Podgoretsky ©!!!


 
Anatoly Podgoretsky ©   (2003-08-29 13:49) [30]

Это везет, а так надо еще поиск ограничить должным количеством колонок, об этом в той же теме. Может у тебя и сделано это через свойства, но отсюда не видно.



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

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.037 c
1-71743
-AGGRESSOR-
2003-09-10 13:03
2003.09.22
OLE и потоки


14-71950
napil
2003-08-26 22:08
2003.09.22
домин


1-71708
AndyGee
2003-09-10 19:52
2003.09.22
Запуск внешнего приложения от имени другого пользователя


8-71766
e}{e
2003-05-19 00:29
2003.09.22
Как запретить компоненту двигаться по диагонали?


1-71675
Pavel Oliynik
2003-09-11 11:28
2003.09.22
подстановку label.caption из ресурса по название лейбела