![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
как сделать поиск записи по вводимым символам? Есть два столбца: Наименование и Цена. Нужен поиск по столбцу Цена. Некторые числа с запятой (например 98,12).
|
|
#2
|
||||
|
||||
|
Метод Locate в помосчь
пример использования Locate(Название поля по которому производится поиск,vararrayof([Edit1.text]),[loCaseinsensitive,loPartialKey]) |
|
#3
|
||||
|
||||
|
Код:
ADOQuery1.Active:=false;
ADOQuery1.SQL.clear;
ADOQuery1.add(select * from "Table1");
ADOQuery1.SQL.add ('Where POLE1 like '''+'%'+edit1.text+'%''');
ADOQuery1.Active:=true;
Table1 - Наименование твоей таблицы POLE1 - наименование поля по которому хочешь искать.... P.S. повесь этот код на событие OnChange обьекта Edit1. Последний раз редактировалось Dead_Gigabit, 01.03.2011 в 22:28. |
|
#4
|
|||
|
|||
|
при вводе цифры в edit1 выдает ошибку: Ошибка синтаксиса (пропущен оператор) в выражении запроса 'Сумма с ПДВ '%4%'''
|
|
#5
|
|||
|
|||
|
сделал вот так:
Код:
procedure TForm7.edit1Change(Sender: TObject);
var OptSet: TLocateOptions;
begin
OptSet:=OptSet + [loCaseInsensitive];
OptSet:=OptSet + [loPartialKey];
DM.Nakladnie.Locate('Сумма с НДС',edit1.Text,OptSet)
end;работает, только с одним но. Таблица заполнена значениями формата ####,## если вводить в поисковое поле значение с запятой, то поиск не происходит, а как только ставлю точку вместо запятой, то все работает... можно это исправить? |
|
#6
|
||||
|
||||
|
Поставь на edit ограничение на ввод символов..... в данном случае на запятую....
|