Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
1

Как сделать через два edit фильтрацию на DbGrid?

07.06.2016, 00:51. Показов 1019. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня есть Форм там есть два edita в одну надо писать Откуда выезжаешь, а во втором куда выезжаешь? а в БД станция отправления и станция назначение написаны в одном столбце. Вопрос: как можно воссоединив эти два запроса сделать фильтрацию?

Добавлено через 5 минут
Например я пишу в edit1: Астана
а во вторую edit2: Алматы
В БД так написано Астана-Алматы
как сделать чтобы вывели эту строку
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2016, 00:51
Ответы с готовыми решениями:

Как сделать фильтрацию по edit?
Здравствуйте дорогие форумчане. Прошу Вас помочь создать фильтрацию по Edit. На форумах есть...

Как сделать так чтобы два поля заполнялись в два и более Edit?
procedure TForm1.DBGrid1CellClick(Column: TColumn); begin...

Как сделать фильтрацию по каждому полю по отдельности, но через одну процедуру ?
Как сделать фильтрацию по каждому полю по отдельности, но через одну процедуру ? Private Sub...

Как внести в DBGrid данные через Edit
На картинке моя форма с DBGrid и Editами.

11
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
07.06.2016, 01:21 2
Цитата Сообщение от Daniyarcfc Посмотреть сообщение
как сделать чтобы вывели эту строку
Какую "эту строку"? Что она содержать кроме названий станций?
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
07.06.2016, 04:32  [ТС] 3
northener, время о прибытии, о убытии, время остановки, и по каким дням ездит
0
5786 / 4528 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
07.06.2016, 06:08 4
В БД точно написано
Астана-Алматы?
или могут быть варианты?
Астана - Алматы
Астана -Алматы
и т.д. ?

если прямо уверены, тогда ищите
Delphi
1
2
3
s:=Edit1.text+'-'+Edit2.Text;
q.Sql.Text := 'select поле1,поле2 from вашатаблица where вашеполе='''+s+'''';
q.open;
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
07.06.2016, 06:22  [ТС] 5
Цитата Сообщение от krapotkin Посмотреть сообщение
или могут быть варианты?
Астана - Алматы
Астана -Алматы
и т.д. ?
могут и такие варианты быть

Добавлено через 2 минуты
Delphi
1
if edit1.Text+'-'+edit2.Text then
вот так написал
вот такая вот ошибка выходит:[Error] Unit2.pas(1615): Type of expression must be BOOLEAN
0
Модератор
9267 / 6045 / 2380
Регистрация: 21.01.2014
Сообщений: 25,812
Записей в блоге: 3
07.06.2016, 06:26 6
Daniyarcfc, где тут, по твоему, логическое выражение, которое подразумевается в конструкции if...then???

Добавлено через 1 минуту
Цитата Сообщение от Daniyarcfc Посмотреть сообщение
а в БД станция отправления и станция назначение написаны в одном столбце
Конечно, слова "нормализация реляционных баз данных" - это вообще непонятно, о чем речь...
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
07.06.2016, 06:48  [ТС] 7
D1973, я просто не парился и копировал вставил у меня просто было мало времени

Добавлено через 18 минут
D1973, не знаете как сделать фильтрацию в dbgrid? если я хочу сделать фильтрацию времени (но в базе данных я не ставил тип данных на дата и время) он у меня обычный текстовой) например хочу сделать фильтрацию от 00:00 по 06:00 (чтобы все сюда входило и 05:11 и 02:13)
Delphi
1
form3.ADOQuery1.Filter:='[Время прибытии] LIKE ' + QuotedStr('00:00%')
здесь только фильтрация выдаст 00:00
0
Модератор
9267 / 6045 / 2380
Регистрация: 21.01.2014
Сообщений: 25,812
Записей в блоге: 3
07.06.2016, 07:04 8
Цитата Сообщение от Daniyarcfc Посмотреть сообщение
я просто не парился
Ну значит теперь париться придется, чтобы эти записи привести к однотипному виду...
Используя Pos() находишь позицию знака "-", определяешь, есть ли рядом пробелы, если есть - удаляешь их.
Все можно было бы сделать одной строкой, но нет ведь никакой гарантии, что в названии пунктов отправления или прибытия не встретится пробел... Поэтому танцуй от дефиса-разделителя.

Добавлено через 1 минуту
Цитата Сообщение от Daniyarcfc Посмотреть сообщение
но в базе данных я не ставил тип данных на дата и время
Значит надо переделывать
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
07.06.2016, 07:14  [ТС] 9
D1973, если я переделаю у меня там дата будет не 16:00 а будет 16:00:00
0
Модератор
9267 / 6045 / 2380
Регистрация: 21.01.2014
Сообщений: 25,812
Записей в блоге: 3
07.06.2016, 07:27 10
И что? пишешь запрос
SQL
1
SELECT * FROM [YourTable] WHERE [Время прибытии] BETWEEN [Time1] AND [Time2]
смотри только, в каком формате твоя БД хранит даты и время
0
1 / 1 / 0
Регистрация: 10.05.2015
Сообщений: 133
07.06.2016, 08:23  [ТС] 11
Цитата Сообщение от D1973 Посмотреть сообщение
1
SELECT * FROM [YourTable] WHERE [Время прибытии] BETWEEN [Time1] AND [Time2]
это только когда тип данных дата время будет работать да?
0
Модератор
9267 / 6045 / 2380
Регистрация: 21.01.2014
Сообщений: 25,812
Записей в блоге: 3
07.06.2016, 10:23 12
это только когда тип данных дата время будет работать да?
Не обязательно. Это работает и с числовыми полями и вот с текстовыми - нет
0
07.06.2016, 10:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2016, 10:23
Помогаю со студенческими работами здесь

Можно ли через DBLookupComboBox сделать фильтрацию?
Можно ли через DBLookupComboBox сделать фильтрацию?

Можно ли через DBLookupComboBox сделать фильтрацию?
Можно ли через DBLookupComboBox сделать фильтрацию?

Ввод в DBGrid через Edit
Всем привет! Назрел вот такой вопрос, а как сделать так чтобы при вводе цифр в edit и после...

Заполнение DbGrid через edit
Добрый день! Подскажите пожалуйста, как в DBGrid добавить данные из Edit? BDgrid соединена...


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

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