Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2011, 23:57   #1
athleet
Пользователь
 
Регистрация: 18.12.2010
Сообщений: 22
По умолчанию Поиск Locate по нескольким полям

Есть CheckListBox2 где находится список полей. Как сделать так, чтобы в LocFields добавлялись отмеченные поля?

Код:
Table1.Locate(LocFields,LocValues,LocOpts);

Последний раз редактировалось Stilet; 22.05.2011 в 09:59.
athleet вне форума Ответить с цитированием
Старый 22.05.2011, 00:05   #2
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Там через параметр типа Variable.
Лучше напиши свой метод Locate, это не сложно, если хоть немного знаком с наборами данных Delphi
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 22.05.2011, 00:10   #3
athleet
Пользователь
 
Регистрация: 18.12.2010
Сообщений: 22
По умолчанию

Не смогу написать метод. Можно ведь как-то в переменную запихнуть 'Поле1;Поле2' ?
athleet вне форума Ответить с цитированием
Старый 22.05.2011, 00:50   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

посмотрите эту тему

и особенно мой пост #12
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.05.2011, 13:34   #5
athleet
Пользователь
 
Регистрация: 18.12.2010
Сообщений: 22
По умолчанию

Спасибо.
athleet вне форума Ответить с цитированием
Старый 22.05.2011, 15:34   #6
athleet
Пользователь
 
Регистрация: 18.12.2010
Сообщений: 22
По умолчанию

Можно это как-то все в цикл записать, чтобы кода меньше было?

Я попробовал так,при этом в sEdit3 значения записываются вручную через ;
PHP код:
begin
   LocOpts
:=[];
  
for 
i:=0 to sCheckListBox2.Items.Count do begin
 
If (sCheckListBox2.Checked[i]=TrueThen begin
  
If (LocFields=''Then LocFields:= LocFields sCheckListBox2.Items.Strings[i]
   Else 
LocFields:= LocFields ';'sCheckListBox2.Items.Strings[i];
  
end;
 
end;
DataModule2.Table1.Locate(LocFields,sEdit3.Text,LocOpts);
end;
end
Выдает ошибку EVarinatInvalidArgError InvalidArgument. Что означает я чего-то непонимаю, помогите =)

Последний раз редактировалось athleet; 22.05.2011 в 15:43.
athleet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sql запрос по нескольким полям Епгений БД в Delphi 6 20.06.2010 12:04
Реализация сортировки по нескольким полям mrMoRiC Общие вопросы C/C++ 1 23.02.2009 18:49
Фильтрация по нескольким полям в OnChenge Miha87 БД в Delphi 5 10.11.2008 18:49
Фильтрация по нескольким полям! Askat БД в Delphi 1 14.06.2007 06:44