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

Вниз

Как работать с составными(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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.012 c
4-71996
bloodman
2003-07-19 03:13
2003.09.22
Hook + Dll


14-71935
Basja
2003-09-02 15:16
2003.09.22
Тест кончился. про FTP клиенты


1-71580
Jao
2003-09-09 17:37
2003.09.22
в 7-ой дельфе исчезли компоненты шифрования md2-md5


14-71923
iNew
2003-09-02 18:30
2003.09.22
Опять SoftIce.


14-71927
arous
2003-09-03 00:25
2003.09.22
RxLib





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский