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

Вниз

Возвращаясь к поиску по нескольким полям сразу...   Найти похожие ветки 

 
Alexsys   (2002-07-29 20:36) [0]

Я уже спрашивал про это. И вот дошел до момента истины.
Вот код:
keyfields:="name;name_1;n_dom;n_kw";
keyvalues:=VarArrayOf([combobox1.Text, combobox2.Text, edit2.Text, edit3.text]);
if dmod.qrfiz.Locate(keyfields,keyvalues,[])=false then dmod.qrfiz.Locate("id",id1,[]);
На прогоне выдает:
Operation not applicable
Что за ошибка такая? По одному полю поиск идет нормально.
Может, я пишу что не так? Помогите, пожалуйста...


 
Jeer   (2002-07-29 22:09) [1]

Вообще-то и так достаточно
if (not *.Locate) then ..


 
Johnmen   (2002-07-30 09:16) [2]

Если тип id1 соответствующий и все указанные поля существуют и размер combobox1.Text, combobox2.Text, edit2.Text, edit3.text не превышает размерности соотв.полей, то
ты чего-то недоговариваешь...


 
Alexsys   (2002-07-30 18:53) [3]

Все именно так как и написал...
keyfields:="name;name_1;n_dom;n_kw";
keyvalues:=VarArrayOf([combobox1.Text, combobox2.Text, edit2.Text, edit3.text]);
if dmod.qrfiz.Locate(keyfields,keyvalues,[])=false then dmod.qrfiz.Locate("id",id1,[]);

На прогоне выдает:
Operation not applicable
Может знаете, что это за сообщение?
А все типы совпадают, потому что с одним полем все получается ОК (перебирал по очереди).


 
Alexsys   (2002-07-30 19:03) [4]

Кстати, у меня количество записей уже перевалило за 6000.
Межет быть проблема в этом? А тогда как решать?


 
ЮЮ   (2002-07-31 02:48) [5]

Построить дополнительный запрос и не мучиться, а Locate делать по ключевому полю. Это, кстати, позволит показать в каком-либо Gride несколько записей, одновременно удовлетворяющим критерию поиска. А Locate непосредственно в запросе кроме первой записи другие "не покажет"


 
Johnmen   (2002-07-31 10:06) [6]

Проблема в объявлении keyvalues.

Напиши так (это железно):
if not dmod.qrfiz.Locate(keyfields,VarArrayOf([combobox1.Text, combobox2.Text, edit2.Text, edit3.text]),[]) then dmod.qrfiz.Locate("id",id1,[]);



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

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

Наверх




Память: 0.45 MB
Время: 0.008 c
3-71019
ППавел
2002-08-01 09:43
2002.08.22
Отчет


14-71371
blackman
2002-07-23 17:31
2002.08.22
Что делают люди в последний час перед уходом в отпуск ?


3-71020
Andrushk
2002-07-25 14:58
2002.08.22
Научите пользоваться DBGridOnDrawColumnCell


1-71149
Pavel_S
2002-08-13 07:07
2002.08.22
Виснет программа


1-71120
Сережа
2002-08-05 11:05
2002.08.22
Запуск программы из значка или из значка в трее





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