1 / 1 / 0
Регистрация: 15.12.2016
Сообщений: 12
|
||||||
1 | ||||||
DataGridView — фильтрация по датам13.02.2017, 02:34. Показов 3252. Ответов 15
Доброго времени суток всем. Товарищи, прошу помощи, мозг кипит и прочее...
Есть база в access. Там некоторые события по датам. отображается так: Есть форма, в которую происходит выгрузка из базы в dataviewgrid На форме есть 2 DateTimePicker (Date_From и Date_To) в коде пишу:
не дает, не делает, не запускает. Наверно, где-то на форуме есть похожая тема, но схожие посмотрел, опробовал, не помогает. Хелп!!!
0
|
13.02.2017, 02:34 | |
Ответы с готовыми решениями:
15
Фильтрация данных в DatagridView Фильтрация в DataGridView не срабатывает Фильтрация в datagridview по нескольким критериям Фильтрация данных в DataGridView по дате |
1136 / 881 / 152
Регистрация: 25.07.2015
Сообщений: 1,959
|
||||||
13.02.2017, 07:32 | 2 | |||||
Для начала уберите скобки в запросе - значения диапазона BETWEEN в скобки не ставят.
BETWEEN MSDN Можете весь фильтр в скобки поместить , но в данном контексте это лишнее. Далее : проверьте все сравниваемые типы данных - они должны быть одинаковые. Есть у меня подозрение , что [Дата] в запросе имеет типе date ( во всяком случае приведение этого поля к строке не вижу) , а диапазон , с которым сравниваете , задаёте в строковом формате. Так же проверьте , что возвращаемые форматы дат совпадают (день-месяц-год). Так же для тестирования диапазон можно прописать по другому и , при необходимости,проверять, разложив запрос на составляющие :
0
|
1136 / 881 / 152
Регистрация: 25.07.2015
Сообщений: 1,959
|
|
13.02.2017, 08:30 | 4 |
Зачем ? Что принципиально изменится, если фильтр по диапазону не работает ?
DataView ровно так же не будет заполняться... или вы предлагаете "тащить" весь массив данных , чтобы потом его уже фильтровать во вьюшке ? А если этих данных гигабайты ? Никаких ресурсов не хватит )) Вопрос то не в форме предоставления , а в содержании - заставить фильтр работать.
0
|
53 / 53 / 17
Регистрация: 12.02.2017
Сообщений: 261
|
||||||
13.02.2017, 09:30 | 5 | |||||
тогда BindingSource для сортировки таблицы, без перебора данных, вот пример
Создаешь объект BindingSource с его помощью можно сортировать таблицу по любым значениям , потом создаешь DateTimePicker и задаешь дату фильрации.
0
|
307 / 248 / 40
Регистрация: 28.09.2013
Сообщений: 600
|
|
13.02.2017, 19:24 | 6 |
Из своей практики хочу заметить, что разложение запросов, равно как и использование запросов в формате, приведенным автором топика, в большинстве случаев является небезопасным и иногда совершенно (на первый взгляд) непредсказуемым.
Рекомендую вам использовать строго типизованные запросы (с параметром/параметрами). А еще лучше использовать хранимую процедуру с параметрами, также с проверкой типов. В моем случае все вопросы касаемо чудесного преобразования дат операционной системой были решены. Добавлено через 2 минуты Вот пример из MSDN
0
|
1136 / 881 / 152
Регистрация: 25.07.2015
Сообщений: 1,959
|
|
13.02.2017, 20:00 | 7 |
"Папа , а ты сейчас с кем разговаривал ?" (с)
А если серьёзно : во-первых , вопрос ТС прозвучал по совершенно конкретной теме - неработающий фильтр во-вторых, если вы внимательно прочтёте мой ответ , то там есть ключевые слова , которые вы пропустили . в-третьих, я знаю десятки проектов , которые себя отлично чувствуют без параметров и процедур и аргументы в их пользу ничуть не менее веские , чем ваши , начиная от переносимости проекта между платформами и заканчивая целесообразностью и уязвимостями. По сему ,мне думается , холивар на эту тему - занятие достаточно бессмысленное и бестолковое . Каждый использует те инструменты , которые ему ближе. Ну так прекрасно , продемонстрировали бы ТС правильный код . )))
0
|
307 / 248 / 40
Регистрация: 28.09.2013
Сообщений: 600
|
|
13.02.2017, 20:08 | 8 |
Kulma, я не подвергал сомнениям ваше решение) Просто добавил свои мысли на этот счет, что не отменяет изложенного вами)
Не даю рыбу, даю удочку и объясняю как ловить) За +100500)))
0
|
1136 / 881 / 152
Регистрация: 25.07.2015
Сообщений: 1,959
|
|
13.02.2017, 20:25 | 9 |
Ну и напрасно, кстати.
Зачастую полезней дать рыбку , чтобы у перекусившего были силы , а главное желание, брать в руки удочку . Глядишь через непродолжительное время не только себя, но и окружающих накормит Это ж форум , а не ярмарка тщеславия )))
1
|
307 / 248 / 40
Регистрация: 28.09.2013
Сообщений: 600
|
|
13.02.2017, 20:33 | 10 |
0
|
1 / 1 / 0
Регистрация: 15.12.2016
Сообщений: 12
|
||||||
05.03.2017, 00:03 [ТС] | 11 | |||||
KULMA, Переделал немного.
скрины значений...
0
|
258 / 199 / 49
Регистрация: 18.12.2015
Сообщений: 416
|
||||||
05.03.2017, 11:47 | 12 | |||||
prokudinsk, что-то я не понимаю, изначально у вас видно, что дата в базе используется dd.mm.yyyy, теперь вы ее преобразовываете в формат en-US. Второй момент, в столбце "Дата" формат даты?
А по сути - SQL запрос в сообщении #2 рабочий, если текстовый формат. Преобразуйте в строковые переменные, посмотрите что на выходе:
0
|
307 / 248 / 40
Регистрация: 28.09.2013
Сообщений: 600
|
||||||
06.03.2017, 21:50 | 13 | |||||
Дата - как сущность - не зависит от языка. а все mmddyy и прочие - всего лишь обличение этой сущности в удобоваримый пользователям вид. Добавлено через 1 час 33 минуты однако есть и такая тема
0
|
1 / 1 / 0
Регистрация: 15.12.2016
Сообщений: 12
|
||||||
11.03.2017, 13:04 [ТС] | 14 | |||||
Проблема решена! все работает, вот решение, если кому надо:
1
|
0 / 0 / 0
Регистрация: 18.02.2017
Сообщений: 18
|
|
16.03.2017, 20:13 | 15 |
Я проверил этот код, однако он некорректно фильтрует по диапазону дат. Проставьте в поле "ДАТА" записи с разными месяцами и при диапазоне от 01.03 по сегодняшнюю дату высвечиваются все записи за 2 месяца. Если же в Access поле "ДАТА" тип Дата и время, то выдает ошибку. Я перепробовал все варианты, не получается ничего.
0
|
1 / 1 / 0
Регистрация: 15.12.2016
Сообщений: 12
|
|
21.03.2017, 01:37 [ТС] | 16 |
Работает по разным диапазонам имеющихся в базе записей по датам.
0
|
21.03.2017, 01:37 | |
21.03.2017, 01:37 | |
Помогаю со студенческими работами здесь
16
DataGridView и фильтрация данных. Как реализовать средствами VB.net? Фильтрация в админке по датам Фильтрация по двум датам DateTimePicker Фильтр по датам в datagridview Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |