![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 18
|
![]()
Хочу сделать записи в Query-таблице по двум полям одновременно. Первое поле-edit, второе выбирается из выпадающего списка.
Результат выводится в Panel. Не знаю через что делать. Locate, LookUp или Find. Пока курю методичку. Помогите. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 18
|
![]()
procedure TForm3.Button1Click(Sender: TObject);
begin if not DataModule2.Query1.Locate('Nomer_kn igi;Avtor', VarArrayOf([Edit1.text, Combobox1.text])) then showmessage ('net'); end; поиск по полю и комбобоксу по щелку на кнопке без вывода на panel. не работает. пишет что: "not enough actual parameters" |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.07.2008
Сообщений: 91
|
![]()
Пример из дельфийского хелпа
Код:
![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 18
|
![]()
Спасибо.
у меня возникла другая проблема. надо сделать сортировку записей в таблице по трем полям. поля выбираются в из радиогрупы. procedure TForm2.RadioGroup1Click(Sender: TObject); begin if radiogroup1.ItemIndex=0 then DataModule2.Table1.indexfieldnames: ='Avtor'; if radiogroup1.ItemIndex=1 then datamodule2.table1.indexfieldnames: ='Nazvanie_knigi'; if radiogroup1.ItemIndex=2 then datamodule2.table1.indexfieldnames: ='Izdatelstvo'; end; выдает ошибку: Table1: No index for fields'Avtor' может надо назначить на эти поля secondary indexes в Database desctope? |
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 03.12.2008
Сообщений: 18
|
![]() Цитата:
then showmessage ('net'); такая же ошибка. я плохо разбираюсь. p.s. проблему с сортировкой уже решил Последний раз редактировалось sw47; 07.12.2008 в 17:54. |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 11.07.2008
Сообщений: 91
|
![]()
Я бы сделал так:
Код:
|
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 03.12.2008
Сообщений: 18
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 11.07.2008
Сообщений: 91
|
![]() Цитата:
TLocateOptions: loCaseInsensitive Key fields and key values are matched without regard to case. loPartialKey Key values can include only part of the matching key field value; for example, 'HAM' would match both 'HAMM' and 'HAMMER.' Если вам этого не надо то можно просто оставить [] - пустое ps. Учись пользоваться хелпом.... |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 18
|
![]()
Я хочу сделать фильтрация одновременно по двум полям. поля dblookupcombobox.
по одному полю вот такой код: procedure TForm3.Label3Click(Sender: TObject); begin if dblookupcombobox2.text <>'' then begin datamodule2.query1.filter:='Avtor=' ''+dblookupcombobox2.Text+''''; datamodule2.query1.filtered:=true; end; а как сделать сразу по двум? |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
![]()
использовать в фильтре AND
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск в базе данных | St-Dyx | Microsoft Office Excel | 8 | 19.10.2008 12:13 |
Поиск данных | aston | Microsoft Office Excel | 9 | 04.04.2008 16:30 |
МАКРОС!ПОИСК ДАННЫХ. HELP! | jungo | Microsoft Office Excel | 8 | 02.04.2008 10:50 |
Поиск по базе данных | ERASERROR | БД в Delphi | 4 | 14.03.2008 16:34 |