Главная страница
    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
4-71422
Izyum
2002-06-17 11:51
2002.08.22
Работа с посторонними окнами


7-71388
avtor
2002-06-09 15:08
2002.08.22
Как програмно определить частоту обновления экрана?


1-71145
wassil
2002-08-13 14:01
2002.08.22
Архив из Delphi


3-70993
nikolo
2002-07-31 14:06
2002.08.22
Как в BDE создать алиас на MS SQL Server 2000?


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