Главная страница
    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-71138
delta
2002-08-13 14:10
2002.08.22
Hooks


8-71264
SPeller
2002-04-14 06:59
2002.08.22
Опять JPEG


1-71201
Schummi
2002-08-03 07:57
2002.08.22
Help, please!!!


14-71329
Brand
2002-07-26 23:46
2002.08.22
Расположение окон Delphi


3-71025
SemFLY
2002-07-31 18:38
2002.08.22
Почему не происходит запись в поле DBGrid ?





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