Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 16

Не точный поиск по таблице

16.03.2011, 21:09. Показов 2025. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть форма, на форме есть таблица, есть поле едит, надо что бы происходил поиск по таблице. Поиск происходит только тогда, когда в ЕДИТе вводишь точно то что в таблице. Нужно что бы если в едите ввести пол слова, или одно слово оно находило. И еще хочется что бы была кнопка "Искать далее". Всем за ранее спасибо!
Delphi
1
2
3
4
5
6
7
8
procedure TForm2.Button2Click(Sender: TObject);
begin
Form2.DBGrid2.Visible:=true;
Form2.DBGrid1.Visible:=false;
Form2.ADOTable2.Filtered:=false;       //сортировка теорем
Form2.ADOTable2.Filter:='[Название теоремы]='''+Form2.Edit1.Text+'''';
Form2.ADOTable2.Filtered:=true;
//фильтрация
Миниатюры
Не точный поиск по таблице  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.03.2011, 21:09
Ответы с готовыми решениями:

точный поиск по таблице
Здравствуйте, у меня вопрос как сделать поиск по нескольким словам, т.е. дана таблица id | fio | password | primecanie 1 | test |...

Быстрый и точный подсчёт количества строк в большой таблице
Добрый день, может кто подскажет такую вещь написал клиент для работы с бд и нужно при старте показывать количество записей в таблице. ...

Точный поиск
Здравствуйте! Работаю над веб словарем. Проблема в том, что такой запрос : -- Region Parameters DECLARE @p0...

9
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
16.03.2011, 22:28
Цитата Сообщение от ShuzoN Посмотреть сообщение
Есть форма, на форме есть таблица, есть поле едит, надо что бы происходил поиск по таблице. Поиск происходит только тогда, когда в ЕДИТе вводишь точно то что в таблице. Нужно что бы если в едите ввести пол слова, или одно слово оно находило. И еще хочется что бы была кнопка "Искать далее". Всем за ранее спасибо!

procedure TForm2.Button2Click(Sender: TObject);
begin
Form2.DBGrid2.Visible:=true;
Form2.DBGrid1.Visible:=false;
Form2.ADOTable2.Filtered:=false; //сортировка теорем
Form2.ADOTable2.Filter:='[Название теоремы]='''+Form2.Edit1.Text+'''';
Form2.ADOTable2.Filtered:=true;
//фильтрация
Вместо Фильтра, используйте DataSet.Locate() там третий параметр и есть "примерный" поиск
0
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 16
16.03.2011, 22:42  [ТС]
Извеняюсь, а можно с куском кода?
0
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
17.03.2011, 01:04
Цитата Сообщение от ShuzoN Посмотреть сообщение
Извеняюсь, а можно с куском кода?
спозиционируется на первую, ближайшую запись
Delphi
1
2
3
4
procedure TForm2.Button2Click(Sender: TObject);
begin
  Form2.ADOTable2.Locate('[Название теоремы]', Form2.Edit1.Text, [loCaseInsensitive, loPartialKey]);
end;
Совет: поменяйте название столбца с русского [Название теоремы] на что-то английское например NameOfTheorem - меньше проблем будет в дальнейшем...
0
8 / 8 / 1
Регистрация: 18.04.2010
Сообщений: 74
17.03.2011, 08:17
Через фильтрацию будет выглядеть так

Delphi
1
2
3
4
5
  ADOTable1.Filtered:=false;
  ADOTable1.Filter:='[Название теоремы] LIKE ' + #39 +'%'+ Form2.Edit1.Text + '%' + #39;
  ADOTable1.Filtered:=true;
 end
 else ADOTable1.Filtered:=false;
0
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 16
17.03.2011, 17:32  [ТС]
Спасибо большое всем!!! Сделал через фильтр!! УРааа спасибо!!!!

Добавлено через 8 часов 15 минут
Еще один маленький момент
я фильтрую таким способом
Delphi
1
2
3
ADOTable1.Filtered:=false;
ADOTable1.Filter:='[Название теоремы] LIKE ' + #39 +'%'+ Form2.Edit1.Text + '%' + #39;
ADOTable1.Filtered:=true;
в таблице есть строка "Кюри Пьер", когда ищу "пьер", "кюри", "кюри пьер" - находит. а что сделать что бы находило когда пишу в ЕДИТе "Пьер Кюри"?
0
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
17.03.2011, 18:06
Цитата Сообщение от ShuzoN Посмотреть сообщение
Спасибо большое всем!!! Сделал через фильтр!! УРааа спасибо!!!!

Добавлено через 8 часов 15 минут
Еще один маленький момент
я фильтрую таким способом

ADOTable1.Filtered:=false;
ADOTable1.Filter:='[Название теоремы] LIKE ' + #39 +'%'+ Form2.Edit1.Text + '%' + #39;
ADOTable1.Filtered:=true;

в таблице есть строка "Кюри Пьер", когда ищу "пьер", "кюри", "кюри пьер" - находит. а что сделать что бы находило когда пишу в ЕДИТе "Пьер Кюри"?
добавь где нибудь вначале, скажем на событии Form.OnShow
следущую строку:
Delphi
1
ADOTable1.FilterOptions := ADOTable1.FilterOptions + [foCaseInsensitive]
0
0 / 0 / 0
Регистрация: 16.03.2011
Сообщений: 16
18.03.2011, 09:17  [ТС]
ошибку выдало... скрин ниже
Миниатюры
Не точный поиск по таблице  
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
18.03.2011, 09:44
ShuzoN, а вы не пробовали хелп почитать, прежде что-то с форума копировать? и вообще лучше всего это делать запросом, а не фильтрами или Locate - уж больно медленные, чтобы быть юзабельными
0
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
18.03.2011, 15:29
Цитата Сообщение от ShuzoN Посмотреть сообщение
ошибку выдало... скрин ниже
Очень странно. Какая у вас версия?
Только что проверил - у меня работает и на D2010 и D7
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2011, 15:29
Помогаю со студенческими работами здесь

Точный поиск строки
Не так давно сваял скрипт, завершающий терминальную сессию @echo off setlocal enabledelayedexpansion :: Имя сервера set...

Точный поиск по DataGridView
Добрый вечер, как осуществить точный поиск по одному столбцу DGV? На просторах нашла только неточный поиск. Мне необходимо, чтобы при...

Точный поиск слова
Имеется столбец с цветом товара. Нужно посчитать суммо по цвету. Проблема в следующем =СУММПРОИЗВ(M3:M100;--ЕЧИСЛО(ПОИСК($O$4;A3:A100))) ...

Точный поиск по двум цифрам
Здравствуйте. Есть папка в ней порядка 6к файлов. Имена у них типовые: * 100 100 *.расширение * 100 60 *.расширение * 100 50...

Поиск по richedit не точный, что делать?
У меня есть RichEdit с текстом из rtf файла, и Edit через которого я осуществляю поиск текста по данному кодуprocedure...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru