0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 6
1

Делфи 2010. Желательно разжёванное обьяснение

12.03.2019, 13:29. Показов 1925. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как через Edit1 создать фильтр в DBGrid, при нажатии на кнопку Button1, чтобы в DBGrid остались только отфильтрованные данные?

При использовании ADOTable. В ADOQuery не шарю! Просьба не писать примеры с ним (ADOQuery). Не пойму.

В целом существует 5 Edit компонентов, которые предназначены для 5 разных столбцов в DBGrid.

--------------------------------
Компоненты в программе:
Edit x5
Button x1
DBGrid x1
--------------------------------

Благодарю за внимание.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2019, 13:29
Ответы с готовыми решениями:

Фильтрация и поиск данных БД в Дельфи 2010
,нужно организовать поиск и фильтрацию, хочется через радиобаттон, не могли бы помочь хоть один...

Делфи 2010 не видит файлы с расширением accdb
Ребята такая проблемка перепробывал всех провайдеров в компоненте ADOConection и не один не видит...

PageControl в Делфи 2010
Помогите ребят у меня такая ситуация создал новая форма и хочу от второй форму вызвать pagecontrol...

То что работает в Делфи 7 - не работает в Делфи 2010
Здравствуйте есть прога создана в Delphi 7. Хочу теперь ее скомпилировать в Делфи 2010. Но выходят...

9
1 / 1 / 0
Регистрация: 24.04.2018
Сообщений: 9
12.03.2019, 14:27 2
Если я не ошибаюсь, то живые запросы через Table делать нельзя.
Да и как по мне Query гораздо удобнее и быстрее, когда-нибудь придётся и его выучить, не откладывайте неизбежное, там ничего сложного нет
1
Модератор
9238 / 6021 / 2374
Регистрация: 21.01.2014
Сообщений: 25,730
Записей в блоге: 3
12.03.2019, 17:18 3
Лучший ответ Сообщение было отмечено InvincibleValik как решение

Решение

Delphi
1
2
3
ADOTable.Filtered := false;
ADOTable.Filter := '<FieldName> = ' + Edit1.Text;
ADOTable.Filtered := true;
Где вместо <FieldName> Вы пишете реальное имя поля БД, на основании которого фильтруете данные
1
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 6
14.03.2019, 13:34  [ТС] 4
Возможно всё же я не так понял <FieldName>.

Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm3.Edit1Change(Sender: TObject);
begin
   if Length(Edit1.Text)>0 then
    begin
    ADOTable1.Filtered:=false;
    ADOTable1.Filter:= 'Firmas nosaukums ='+Edit1.Text;
    ADOTable1.Filtered:=true;
     end
     else ADOTable1.Filtered:=false;
end;
--------------------------------------------
То что я написал ⬆
----------------------------------------------------------------
Ошибку выдаёт при вводе любого символа в Edit1
----------------------------------------------------------------
Ниже я приложил скрин таблицы, и описание ошибки.
Миниатюры
Делфи 2010. Желательно разжёванное обьяснение   Делфи 2010. Желательно разжёванное обьяснение   Делфи 2010. Желательно разжёванное обьяснение  

0
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 6
14.03.2019, 13:52  [ТС] 5
Не обратил внимание на <>. Поставил, но ошибка та же.
0
Модератор
9238 / 6021 / 2374
Регистрация: 21.01.2014
Сообщений: 25,730
Записей в блоге: 3
14.03.2019, 14:08 6
Лучший ответ Сообщение было отмечено InvincibleValik как решение

Решение

Цитата Сообщение от InvincibleValik Посмотреть сообщение
Не обратил внимание на <>
И не надо было обращать... А вот давать полям БД названия из нескольких слов - это очень и очень неправильно. И если сам Акцесс это позволяет - это не значит, что нужно так делать. Вот, собственно, на что Вы и напоролись.
Ну и про тип данных в поле Вы тоже ни единым словом не обмолвились, а это очень важная информация, скрывать которую не надо, если хотите получить нормальный ответ.
Вот так попробуйте:
Delphi
1
ADOTable1.Filter:= '[Firmas nosaukums] = ' + QuotedStr(Edit1.Text);
1
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 6
14.03.2019, 15:44  [ТС] 7
Да, прошу прощения за неполноценную информацию.
--------------------------
Благодарю! Работает.
--------------------------
Как думаете, стоит добавлять ввод на кнопку, с точки зрения пользователя программы? Лично мне 50/50. Но быть может обычному пользователю базы данных привычнее, когда действие выполняется после нажатия на кнопку...
Хотя это скорее вопрос не по теме.

Добавлено через 28 минут
Цитата Сообщение от D1973 Посмотреть сообщение
А вот давать полям БД названия из нескольких слов - это очень и очень неправильно. И если сам Акцесс это позволяет - это не значит, что нужно так делать.
Через_нижнее_подчёркивание_советуете?
0
5393 / 4321 / 1060
Регистрация: 29.08.2013
Сообщений: 27,128
Записей в блоге: 3
14.03.2019, 22:01 8
Цитата Сообщение от D1973 Посмотреть сообщение
А вот давать полям БД названия из нескольких слов - это очень и очень неправильно.
да ладно

главное самому понимать что там хранится и что бы не вспоминать через год что ты хранишь в колонке StZEd
а писать [StoimostZaEdinicy] или [СтоимостьЗаЕдиницу] или [Стоимость за единицу без ндс и до вычета налогов] это уже на совести разработчика
1
Модератор
9238 / 6021 / 2374
Регистрация: 21.01.2014
Сообщений: 25,730
Записей в блоге: 3
15.03.2019, 07:02 9
Цитата Сообщение от InvincibleValik Посмотреть сообщение
Через_нижнее_подчёркивание_советуете?
Если_без_нескольких_слов_совсем_не_обойтись: то да. МожноЕщеПростоСлитноПисать...
1
0 / 0 / 0
Регистрация: 12.03.2019
Сообщений: 6
15.03.2019, 10:46  [ТС] 10
Ахахах, окей, благодарю
0
15.03.2019, 10:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2019, 10:46
Помогаю со студенческими работами здесь

Построение графиков в Делфи 2010
Приветствую. Программа получает ежесекундно обновляемые данные. Хотелось бы видеть их в виде...

Как в делфи 2010 устанавливать новые компоненты?
Нужно установить компонент TIcqClient. Компонент уже скачал, как его поставить?

Как подружить компоненту IdDecoderXXE1 из делфи 7 с версией 2010?
Уважаемые программисты, наткнулся на неразрешимую для меня проблему помогите разобраться. Есть...

При связывании БД в делфи не отображаются данные из таблицы (MS Access 2010 & Delphi 7)
при связывании БД в делфи не отображаются данные из таблицы. Какие могут быть причины? Порядок и...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru