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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
1-71079
kinder
2002-08-09 13:42
2002.08.22
Выпадающий список в DBGrid


1-71124
Hawk2
2002-08-12 17:58
2002.08.22
Количество дней в месяце.


6-71277
StAL
2002-05-13 20:13
2002.08.22
Вопрос


7-71387
KarlovAF
2002-06-06 15:55
2002.08.22
Проблема с принтером...


3-71035
Alex_Vas
2002-08-01 07:17
2002.08.22
ADO с паролем





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