Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ФИЛТРЫ или ПОИСК по БД, СРОЧНО

1.9K
07 апреля 2005 года
imported_ФДУЧ
104 / / 07.04.2005
Народ, помогите, поиск устраивает, но как сделать так, чтобы не надо было в Edit1 вводить "НАЗВАНИЕ ПОЛЯ = *" по которому ищу и ещё, подскажите, как
сделать так, чтоб поиск проводился во время ввода значения или хотя бы чтоб после нажатия ENTER,
не надо было давить на кнопку (Borland C++ 6)

void __fastcall TForm1::Button1Click(TObject *Sender)
{
if ( Table1->Active == true )
{
Table1->Filtered = true;
Table1->Filter = Edit1->Text;
AnsiString((int)Table1->RecordCount);
}
259
07 апреля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by ФДУЧ
Народ, помогите, поиск устраивает, но как сделать так, чтобы не надо было в Edit1 вводить "НАЗВАНИЕ ПОЛЯ = *" по которому ищу и ещё, подскажите, как
сделать так, чтоб поиск проводился во время ввода значения или хотя бы чтоб после нажатия ENTER,
не надо было давить на кнопку (Borland C++ 6)

void __fastcall TForm1::Button1Click(TObject *Sender)
{
if ( Table1->Active == true )
{
Table1->Filtered = true;
Table1->Filter = Edit1->Text;
AnsiString((int)Table1->RecordCount);
}


Ну ежели поле все время одно и тоже, то чего же проще:
Table1->Filter = "название поля = "+Edit1->Text;
А в Еdit1 только значение фильтра.
Если нет, то я бы сделал еще ListBox с названиями полей и в нем выбирал имя поля а в Edit значение.

1.9K
07 апреля 2005 года
imported_ФДУЧ
104 / / 07.04.2005
Цитата:
Originally posted by AlexandrVSmirno
Ну ежели поле все время одно и тоже, то чего же проще:
Table1->Filter = "название поля = "+Edit1->Text;
А в Еdit1 только значение фильтра.
Если нет, то я бы сделал еще ListBox с названиями полей и в нем выбирал имя поля а в Edit значение.




А что по поводу ENTER?

488
07 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by ФДУЧ
А что по поводу ENTER?

Поиск нужно поместить в обработчик OnChange компонента Edit1. И не фильтр, а FindNearest().

2.2K
08 апреля 2005 года
Dani
51 / / 22.09.2004
Цитата:
Originally posted by Mоngооsе
Поиск нужно поместить в обработчик OnChange компонента Edit1. И не фильтр, а FindNearest().


На фиг FindNearest()? По-моему, при его использовании нужно еще и индексировать таблицу..
Лучше в OnChange записать что-нибудь типа

AnsiString Str2;
bool dz2;
Str2=Edit1->Text;
TLocateOptions SearchOptions;
SearchOptions<<loPartialKey<<loCaseInsensitive;
dz2=Form1->Table1->Locate("Pole",Str2,SearchOptions);

488
08 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by Dani
На фиг FindNearest()? По-моему, при его использовании нужно еще и индексировать таблицу..

Инкрементальный поиск в неотсортированной таблице? На фиг ?

1.9K
10 апреля 2005 года
imported_ФДУЧ
104 / / 07.04.2005
Цитата:
Originally posted by Mоngооsе
Инкрементальный поиск в неотсортированной таблице? На фиг ?

С

Спасибо конечно но вот какая чтука
поиск должен быть интерактивный после каждого сивола, а при нажатии ENTER введеные символы добовлялись бы в другую таблицу, а Edit очищался и без всяких ошыбок типа нет символа и т.д.

Спасибо

P.S. только не ругайтесь, а обесните чайнику доходчего

259
11 апреля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by ФДУЧ
С

Спасибо конечно но вот какая чтука
поиск должен быть интерактивный после каждого сивола, а при нажатии ENTER введеные символы добовлялись бы в другую таблицу, а Edit очищался и без всяких ошыбок типа нет символа и т.д.

Спасибо

P.S. только не ругайтесь, а обесните чайнику доходчего


У ComboBox есть еще событие OnExit (по потере фокуса)и OnDblClick (по двойному счелчку). Насколько я помню OnDblClick эмулирует еще и нажатие Enter.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог